AWS Athena: SELECT *不允许从没有列的关系



面对下面的错误时,试图访问一些表,但有些是正常工作什么可能的原因。

查询:

SELECT * FROM icbs_cup00901_d LIMIT 1

相同的查询是为其他表工作,所以我很困惑什么可以是原因,并在查询中提到的表有8列字符串数据类型。

错误:您的查询有以下错误:

SYNTAX_ERROR: line 1:8: SELECT * not allowed from relation

这个查询运行在"bpd_ds_db"数据库,除非查询限定。请在我们的论坛上发布错误消息,或通过查询Id: a462d56e-952b-4a6f-a275-b0c9db0301b0联系客户支持。

我已经检查了,我们有8列在同一个表与字符串数据类型和完全相同的查询工作的一些表,所以我很困惑是什么问题可能是

CREATE EXTERNAL TABLE icbs_cup00901_d( 
cux1ac_acct_surr_id string, 
cux1ap string, 
cux1cs_cust_surr_id string, 
cux1ty string, 
cuxbk string, 
cuxnot string, 
cuxrec string, 
cuxrel string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' STORED AS 
INPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' 
LOCATION 's3://bpd-datalake/00Raw/datasets/parquet/DWH/ICBS_CUP00901_D' 
TBLPROPERTIES ( 
'lastUpdateDate'='2021-09-30 03:02:04.780351', 
'last_modified_by'='hadoop', 
'last_modified_time'='1632970985', 
'parquet.compress'='GZIP', 'transient_lastDdlTime'='1632970985'
)

我有同样的问题,发现这是因为我的用户没有足够的权限。这个错误不是很有用,但我想它不能看到列,所以给出了这个错误。

通过在AWS Lake Formation中添加权限来解决该问题。在数据湖权限下,确保你的用户对数据库和表至少有"描述"one_answers"选择"权限。

感谢大家的分享!在我的情况下,我不确定它是否与权限有关,但是的,问题是在"*"当我用所需的列名替换,然后它工作正常

对于这个问题,您需要授予Lake Formation中的select access。选择您正在使用的角色,并至少授予Select访问权限,

最新更新