Hive 配置单元:如何将ApachePig生成的数据加载到配置单元表中?

Hive 配置单元:如何将ApachePig生成的数据加载到配置单元表中?,hive,apache-pig,hiveql,Hive,Apache Pig,Hiveql,我正试图将猪的产量加载到蜂箱表中。数据以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_av

我正试图将猪的产量加载到蜂箱表中。数据以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. 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;

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

您可以改用Pig HCat函数