Hive:如何将 Apache Pig 生成的数据加载到 Hive table?
Hive: How to load data produced by apache pig into a hive table?
我正在尝试将 pig 的输出加载到配置单元中 table。数据作为 avro 模式存储在 HDFS 上。在猪的工作中,我只是在做:
data = LOAD 'path' using AvroStorage();
data = FILTER BY some property;
STORE data into 'outputpath' using AvroStorage();
我正在尝试通过以下方式将其加载到配置单元 table 中:
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 [])
有人可以建议我在这里做错了什么吗?非常感谢!
我才发现是因为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;
基本上,我们应该首先将数据加载到外部table,然后将其插入目标配置单元table。
我正在尝试将 pig 的输出加载到配置单元中 table。数据作为 avro 模式存储在 HDFS 上。在猪的工作中,我只是在做:
data = LOAD 'path' using AvroStorage();
data = FILTER BY some property;
STORE data into 'outputpath' using AvroStorage();
我正在尝试通过以下方式将其加载到配置单元 table 中:
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 [])
有人可以建议我在这里做错了什么吗?非常感谢!
我才发现是因为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;
基本上,我们应该首先将数据加载到外部table,然后将其插入目标配置单元table。