蜂巢:如何将apache pig产生的数据加载到蜂巢表中?

时间:2018-07-13 00:07:28

标签: hive apache-pig hiveql

我正在尝试将pig的输出加载到配置单元表中。数据以avro模式存储在HDFS上。在养猪工作中,我只是在做:

data = LOAD 'path' using AvroStorage();
data = FILTER BY some property;
STORE data into 'outputpath' using AvroStorage();

我正在尝试通过以下方式将其加载到配置单元表中:

load data inpath 'outputpath' into table table_with_avro_schema parititon(somepartition);

但是,我收到一个错误消息:

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Invalid partition key & values; keys [somepartition, ], values [])

有人可以建议我在这里做错了吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

我刚刚发现这是因为LOAD操作不会反序列化数据。它只是像复制操作一样。因此,为了修复它,您应该按照以下步骤操作:

1. CREATE EXTERNAL TABLE some_table LIKE SOME_TABLE_WITH_SAME_SCHEMA;
2. LOAD DATA INPATH 'SOME_PATH' INTO some_table ;
3. INSERT INTO TARGET_TABLE SELECT * FROM some_table;

基本上,我们应该先将数据加载到外部表中,然后再将其插入目标配置单元表中。