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"}]