我们在Redshift中创建了一个外部表,如下所示:
CREATE EXTERNAL TABLE spectrum.my_table(
insert_id varchar(128),attribution_ids array<varchar(100)>
PARTITIONED BY (
event_date varchar(128))
STORED AS ParqUET
LOCATION
's3://my_bucket/my_path'
我们所做的一切都很完美,但是当我们查询文档描述的array<varchar>
字段时:
SELECT c.insert_id,a FROM
spectrum.my_table c,c.attribution_ids a LIMIT 10
Redshift正确返回insert_id
,但返回的数组编码如下:
"insert_id","o"
"0baed794-df11-4032-b13c-aac5d0deced7" "0b8ad4fd9af12804ffaea83f4886672b"
源数据应为:
"0baed794-df11-4032-b13c-aac5d0deced7",[0baed794-df11-4032-b13c-aac5d0deced7,0baed794-df11-4032-b13c-aac5d0deced7]
当我们在雅典娜中以SELECT * FROM my_table
运行相同的查询时,它将返回具有正确数据的数组。
我在这里应该做什么?