我可以使用红移光谱来查询我的表。但是,当我试图访问一个定义为struct的列时,我得到了以下错误:
ERROR: Spectrum Scan Error: S3ServiceException:Access Denied,Status 403,Error AccessDenied你知道为什么会发生这种事吗?
发布于 2021-03-25 16:05:45
就像你提到的,你正在使用亚马逊的红移频谱。当您获取访问权限被拒绝时,这可能是权限问题,请检查您的角色及其附加到redshift集群的权限。
您提到了定义为结构的列。您是否创建了像这样的外部表?https://stackoverflow.com/a/66705424/13126651 在这里,我的外部表是具有单个键条目的单个对象,值是对象数组。
示例
CREATE EXTERNAL TABLE jatinspectrum.extab (
enteries array<struct<title:varchar(4000),link:varchar(4000),author:varchar(4000),published_date:timestamp,category:array<varchar(4000)>>>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
stored as textfile
LOCATION 's3://xxxxxxxxxxxxxx/xxxxxxxxxxxxxx/xxxxxxxxxxx/';参考roles和external table的文档
https://stackoverflow.com/questions/65584893
复制相似问题