【发布时间】:2021-06-16 12:14:59
【问题描述】:
我想创建一个使用红移光谱的外部表,文件是stored in s3 as json file having a single object with values as an array of objects。
我对外部表的查询
CREATE EXTERNAL TABLE jatinspectrum.extable (
enteries array<struct<title:varchar(4000),link:varchar(4000),author:varchar(4000),published_date:timestamp,category:array<varchar(4000)>>>
)
stored as json
LOCATION 's3://xxxxxxxxxxxxxx/xxxxxxxxxxxxxx/xxxxxxxxxxx/';
它会抛出一个错误ERROR: syntax error at or near "json" Position: 198
只是为了确保我在语法上是正确的,我使用另一个查询将其保存为文本文件
CREATE EXTERNAL TABLE jatinspectrum.extab (
enteries array<struct<title:varchar(4000),link:varchar(4000),author:varchar(4000),published_date:timestamp,category:array<varchar(4000)>>>
)
stored as textfile
LOCATION 's3://xxxxxxxxxxxxxx/xxxxxxxxxxxxxx/xxxxxxxxxxx/';
这很好用,但这对我没有帮助,因为文本查询不支持嵌套数据。
【问题讨论】:
标签: json amazon-web-services amazon-redshift amazon-redshift-spectrum