Hive 如何插入数组<;地图<;字符串,int>&燃气轮机;到蜂箱桌上?
我有一个蜂箱表,如下所示:Hive 如何插入数组<;地图<;字符串,int>&燃气轮机;到蜂箱桌上?,hive,hiveql,beeline,Hive,Hiveql,Beeline,我有一个蜂箱表,如下所示: 0: jdbc:hive2://Desktop:10000> desc tb_test2; +-------------+-------------------------+----------+ | col_name | data_type | comment | +-------------+-------------------------+----------+ | name | string
0: jdbc:hive2://Desktop:10000> desc tb_test2;
+-------------+-------------------------+----------+
| col_name | data_type | comment |
+-------------+-------------------------+----------+
| name | string | |
| score_list | array<map<string,int>> | |
+-------------+-------------------------+----------+
我试过这样做:
A [{"math":100,"english":90,"history":85}]
B [{"math":95,"english":80,"history":100}]
C [{"math":80,"english":90,"histroy":100}]
0: jdbc:hive2://Desktop:10000> insert into tb_test2 values("A",Map("math":100,"english":90,"history":85));
但我得到了一个错误:
Error: Error while compiling statement: FAILED: ParseException line 1:42 cannot recognize input near '"math"' ':' '100' in constant (state=42000,code=40000)
我认为应该使用逗号,并且还需要指定数组
insert into tb_test2 select "A", array(map("math",100,"english",90,"history",85)) from (select 1) x;
错误:编译语句时出错:失败:SemanticException[错误10293]:无法为insert/values(状态=42000,代码=10293)中不支持的TOK_函数类型的insert values表达式创建临时文件。感谢您的答复,但此答案给出了上述错误…@needhelp尝试更新的答案?似乎有必要从虚拟表中进行选择,如所述,感谢您的帮助……有没有办法将3个地图放在一个地图中?我不理解“将3个地图放在一个地图中”。你能举一个期望输出的例子吗?