Eine Parkettdatei wird aus einer Avro-Datei erstellt. Jetzt muss ich die Parkettdatei in Pig laden. Folgendes ist das Schema, das ich von parquet-tools schema
Befehl erhalten habe.Geschachtelte Parkettdatei in Pig laden?
message Logs {
optional group SUPER1 {
optional group FIELD1 (LIST) {
repeated int32 array;
}
optional group FIELD2 (LIST) {
repeated int32 array;
}
}
optional group SUPER2 {
optional int32 FIELD1;
optional binary FIELD2 (UTF8);
optional double FIELD3;
optional int32 FIELD4;
optional double FIELD5;
optional binary FIELD6 (UTF8);
}
optional group SUPER3 {
required int32 FIELD1;
required int32 FIELD2;
optional binary FIELD3 (UTF8);
optional binary FIELD4 (UTF8);
}
required binary SUPER4 (UTF8);
optional binary SUPER5 (UTF8);
}
Jetzt bin ich nicht in der Lage, das entsprechende Schweinschema zu verstehen, um diese Datei zu laden. Ich benutze parquet.pig.ParquetLoader
. Ich habe die folgenden Transformationen: -
- Array würde als
chararray
- geladen werden, wie verschachtelte Daten laden? bid_info.creative_id funktioniert nicht:
mismatched input '.' expecting RIGHT_PAREN
- Ich lade alle Felder, ob optional oder nicht. Optionale Werte sollten in Pig als Null geladen werden.
Ich habe auch versucht, einfachen Laden ohne explizites Schema verwendet, dann habe ich diesen Fehler:
Failed to parse: Invalid list type optional group FIELD1 (LIST) {
repeated int32 array;
}