在Hive中插入带有MAP数据类型的表

时间:2013-04-24 23:39:10

标签: map streaming hive

我正在尝试使用配置单元流工作将数据插入到包含MAP数据类型列的表中。

我尝试在表定义中设置所有分隔符,然后以正确的格式从流作业输出数据。

ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY '|'
LINES TERMINATED BY '\n'

我还尝试以Hive存储地图({key:value})的确切格式输出数据。

这是我一直看到的错误:

FAILED: Error in semantic analysis: Line 7:23 Cannot insert into target table because column number/types are different 'table_name': Cannot convert column 2 from string to map<string,string>.

是否可以在Hive中执行此操作?

1 个答案:

答案 0 :(得分:0)

没有您的数据样本和完整表架构,我无法解释您的错误原因。

显然根据你的ROW FORMAT定义; 数据中的地图结构应该是(假设大小为2的地图):

....\tkey1|value2,key2|value2\t...other columns\n