【发布时间】:2015-11-11 00:04:14
【问题描述】:
我有一个 Impala 分区表,存储为 Parquet。我可以使用 Pig 从这个表中加载数据,并将分区添加为列吗?
Parquet 表定义为:
create table test.test_pig (
name: chararray,
id bigint
)
partitioned by (gender chararray, age int)
stored as parquet;
Pig 脚本是这样的:
A = LOAD '/test/test_pig' USING parquet.pig.ParquetLoader AS (name: bytearray, id: long);
但是,DUMP A 时,gender 和 age 会丢失。仅显示name 和id。
我试过了:
A = LOAD '/test/test_pig' USING parquet.pig.ParquetLoader AS (name: bytearray, id: long, gender: chararray, age: int);
但我会收到如下错误:
错误 org.apache.pig.tools.grunt.Grunt - 错误 1031:不兼容 模式:左边是“名称:字节数组,id:长,性别:字节数组,年龄:int”, 右边是“name:bytearray,id:long”
希望在这里得到一些建议。谢谢!
【问题讨论】:
标签: apache-pig hdfs database-partitioning parquet