我們有一個小的(16M行)不同的表和一個大的(6B行)歪斜表之間的豬連接。 定期加入在2小時內完成(經過一些調整)。我們嘗試using skewed
並能夠將性能提高到20分鐘。豬歪斜加入大表導致「拆分元數據大小超過10000000」
然而,當我們嘗試一個更大的傾斜表(19B行),我們從取樣作業此消息:
Split metadata size exceeded 10000000. Aborting job job_201305151351_21573 [ScriptRunner]
at org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:48)
at org.apache.hadoop.mapred.JobInProgress.createSplits(JobInProgress.java:817) [ScriptRunner]
這每一次我們試圖using skewed
時間是可重複的,並且當我們使用不會發生經常加入。
我們試過設置mapreduce.jobtracker.split.metainfo.maxsize=-1
,我們可以看到它在job.xml文件中,但它不會改變任何東西!
這裏發生了什麼?這是由using skewed
創建的分佈示例的錯誤嗎?爲什麼它不能幫助將參數更改爲-1
?
決定提交一個jira bug:https://issues.apache.org/jira/browse/PIG-3411,將更新 – ihadanny
我們發現改變了mapreduce.jobtracker.split.metainfo。已知maxsize不能在工作級別工作,只能在jobTracker級別工作,請參閱https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/UWBMKplvGkg – ihadanny
曾經找到解決這個問題的辦法?我們正面臨類似的問題。 – KennethJ