【发布时间】:2016-03-28 09:53:31
【问题描述】:
parquet 文件是从 Avro 文件创建的。现在我需要在 Pig 中加载 Parquet 文件。以下是我从parquet-tools schema 命令获得的架构。
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);
}
现在我无法理解加载此文件的等效猪模式。我正在使用parquet.pig.ParquetLoader。我做了以下转换:-
- 数组将被加载为
chararray - 如何加载嵌套数据? bid_info.creative_id 不起作用:
mismatched input '.' expecting RIGHT_PAREN - 我正在加载所有字段,无论是否可选。可选值应在 Pig 中加载为 null。
我还尝试使用没有任何显式架构的简单加载,然后出现此错误:
Failed to parse: Invalid list type optional group FIELD1 (LIST) {
repeated int32 array;
}
【问题讨论】:
标签: apache-pig parquet