Wir haben ein Schwein verbinden zwischen einer kleinen (16M Zeilen) eindeutige Tabelle und eine große (6B Zeilen) verdrehte Tabelle. Ein regulärer Join endet in 2 Stunden (nach einigen Feinabstimmungen). Wir haben versucht using skewed
und in der Lage, die Leistung auf 20 Minuten zu verbessern.Schwein schief Join mit einer großen Tabelle verursacht "Split Metadatengröße überschritten 10000000"
Wenn wir jedoch eine größere schiefe Tabelle (19B Zeilen) versuchen, bekommen wir diese Nachricht aus dem Job SAMPLER:
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]
Dies ist reproduzierbar jedes Mal, wenn wir using skewed
versuchen, und nicht geschieht, wenn wir verwenden der regelmäßige beitreten.
wir versuchten Einstellung mapreduce.jobtracker.split.metainfo.maxsize=-1
und wir können sehen, es ist da in der Datei job.xml, aber es ändert nichts!
Was passiert hier? Ist das ein Fehler mit dem von using skewed
erstellten Verteilungsbeispiel? Warum hilft es nicht, den Parameter auf -1
zu ändern?
entschieden, einen Jira-Bug zu speichern: https://issues.apache.org/jira/browse/PIG-3411, wird aktualisiert – ihadanny
wir haben festgestellt, dass maptruce.jobtracker.split.mtainfo ändert. maxsize ist bekannt, nicht in der Job-Ebene zu arbeiten, nur in der JobTracker-Ebene, siehe hier: https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/UWBMKplvGkg – ihadanny
hast du jemals eine Lösung für dieses Problem finden? Wir stehen vor einem ähnlichen Problem. – KennethJ