Ich habe zwei Datenobjekte in Schwein.Fehler nach dem Verbinden von Objekten in Apache Pig
data_1:
col_a: chararray,
col_b: int,
col_c: int,
col_d: chararray
data_2:
col_a: chararray,
col_b: chararray,
col_c: int,
col_d: int,
col_e: int
ich die beiden von ihnen anschließen möchten, habe ich versucht:
all_data = JOIN data_1 BY (col_a) LEFT, data_2 by (col_b);
all_data = JOIN data_1 BY (col_a), data_2 by (col_b);
Als ich versuchte, das Objekt zu entleeren (nach begrenzen Sie es auf 10 Datensätze) Beide Optionen gaben den gleichen Fehler zurück:
Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception while executing (Name: all_data_limit: Limit - scope-6383 Operator Key: scope-6383): org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception while executing (Name: all_data: New For Each(true,true)[tuple] - scope-6382 Operator Key: scope-6382): org.apache.pig.backend.executionengine.ExecException: ERROR 0: java.lang.ClassCastException: org.apache.pig.impl.io.NullableText cannot be cast to org.apache.pig.impl.io.NullableBytesWritable
- „Beschreiben“ für beiden Objekte (data_1, data_2) gab guten Ausgang zurück (was ich oben geschrieben)
- „beschreiben“ für das verbundene Objekt - ALL_DATA, gab auch einen guten Ausgang zurück, so wie es sollte.
- Ich druckte LIMIT 10 für beide Objekte - sie haben gute Daten.
- Ich bin mit einem Amazon-Cluster „emr-5.2.0“, mit Schwein Version 0.16.0
Ich bin ein bisschen frustriert, keine Lösung für diesen finden konnte, und ich bin Suche nach einem für 3 Tage jetzt ... Jede Hilfe wäre großartig. Danke!
Veröffentlichen Sie Ihr gesamtes Skript und Beispieldaten. –