配置单元 - 如何在配置单元表中插入结构数组



所以我从这里学会了如何将值插入数组列:

INSERT INTO table 
SELECT ARRAY("line1", "line2", "line3") as myArray
FROM source1;

从这里如何将值插入结构列:

INSERT INTO table 
SELECT NAMED_STRUCT('houseno','123','streetname','GoldStreet', 'town','London', 'postcode','W1a9JF') AS address 
FROM source2;

现在我试图以同样的方式在结构数组中插入值。它具有以下架构:

additionalattribute:array<struct<attribute_value:string,key:string,value:string>

我试图这样推断:

INSERT INTO table 
ARRAY(NAMED_STRUCT('attribute_value','null','key','null','value','null')) as additionalattribute
FROM source2;

但它不起作用。有谁知道如何解决这个问题?

表名后面缺少 select 语句。演示

create table temp4
(
additionalattribute array<struct<attribute_value:string,key:string,value:string>>
);
INSERT INTO temp4 select 
ARRAY(NAMED_STRUCT('attribute_value','null','key','null','value','null')) as additionalattribute
FROM (select '1' ) t;

最新更新