Hadoop 如何为复杂数组编写插入注释<;结构<&燃气轮机&燃气轮机;输入蜂箱?
表格结构:Hadoop 如何为复杂数组编写插入注释<;结构<&燃气轮机&燃气轮机;输入蜂箱?,hadoop,hive,hdfs,Hadoop,Hive,Hdfs,表格结构: 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; 如果不存在则创建表t
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;
如果不存在则创建表test.test\u complex\u alter(
`id`STRING,
`项目`数组>
)储存为兽人;
如何使用INSERT
Query将数据插入到这个复杂的表中?回答OP:
创建一个包含1行的虚拟表(架构无关紧要)。让我们称之为dummy
运行以下查询,将1行插入到您的测试中。test\u complex\u alter
表中:
插入到表test.test\u complex\u alter中,从dummy中选择“id1”、数组(命名为\u struct('quantity',20,'articleData',命名为\u struct('subsysNumber','subsys1')、'pickedReason','reason1')、命名为\u struct('quantity',30,'articleData命名为\u struct('subsysNumber','subsys2')、'pickedReason','reason2')代码>
阵列的结构(第二列):
数组(命名结构(n1,v1,…,nn,vn),…,命名结构(n1,v1,…,nn,vn))
结果:
裁判:
->“复杂类型构造函数”插入的数据从哪里来?您可以定义一个相同模式的JSON表,向其中添加数据,然后从中插入/选择,插入ORC
表的任何方式,我的测试是在插入表之后,我想通过再添加一个字段来更改items.articleDate
字段,并了解其行为。
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"}]