我已经在红移光谱中创建了一个外部表。运行 select * from table_name 后,我收到以下错误
SQL Error [XX000]: ERROR: Spectrum Scan Error
Detail:
-----------------------------------------------
error: Spectrum Scan Error
code: 15007
context: Forbidden: HTTP response error code: 403 Message: AccessDenied Access Denied
请让我知道可能出现什么问题。我可以在同一 s3 位置执行 aws s3 ls 和 aws s3 cp 命令。
当源列数据类型和目标列数据类型存在差异时,您会收到频谱扫描错误,因为您必须根据 Redshift 的标准数据类型格式更改数据类型。
要检查错误,您可以参考此查询-
Select * from SVL_S3LOG where query = 'Query_id 需要放在这里'
至少就我而言,解决此确切错误的方法是允许 Redshift IAM 角色使用 S3 存储桶上的 KMS 密钥进行解密。
我也刚刚遇到过这种情况。就我而言,这与分区有关。某些镶木地板文件的列仅缺少数据,并且默认情况下键入为字符串。在其他分区中,这些列填充了数据(某些其他类型),因此查询会给出频谱扫描错误。