gpt4 book ai didi

hadoop - 如何在配置单元中为复杂数组 > 类型编写插入注释?

转载 作者:可可西里 更新时间:2023-11-01 16:37:07 32 4
gpt4 key购买 nike

表结构:

CREATE TABLE IF NOT EXISTS test.test_complex_alter(
`id` STRING,
`items` array<struct<
quantity: INT,
articleData:struct<subsysNumber:string>,
pickedReason:string>>
) STORED AS ORC;

如何使用 INSERT 查询将数据INSERT 到这个复杂的表中?

最佳答案

对 OP 的回答:

  1. 创建一个只有 1 行的虚拟表(模式无关紧要)。我们称它为dummy
  2. 运行以下查询以将 1 行插入到您的 test.test_complex_alter 表中:

INSERT INTO TABLE test.test_complex_alter SELECT "id1", array(named_struct('quantity',20, 'articleData', named_struct('subsysNumber', 'subsys1'), 'pickedReason', 'reason1') ,named_struct('quantity',30, 'articleData', named_struct('subsysNumber', 'subsys2'), 'pickedReason', 'reason2')) 来自 dummy;

数组结构(第二列):

array(named_struct(n1,v1,..,nn,vn),...,named_struct(n1,v1,..,nn,vn))

结果:

hive> select * from test100.test_complex_alter;
OK
test_complex_alter.id test_complex_alter.items
id1 [{"quantity":20,"articleData":{"subsysNumber":"subsys1"},"pickedReason":"reason1"},{"quantity":30,"articleData":{"subsysNumber":"subsys2"},"pickedReason":"reason2"}]

引用:

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF -> “复杂类型构造函数”

关于hadoop - 如何在配置单元中为复杂数组 <struct<...>> 类型编写插入注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49842882/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com