问题描述
Sowfalke-我正在尝试运行以下查询以从ASW S3中存储的文件中提取数据。
select $1 as blah,$2 as blahh,$3 as blahhh,$4 as blahhhh,$5 as val,'blahhhhh' as version
from '@blah.csv.gz' (FILE_FORMAT => shared.GZIP_TRANSFER_FORMAT)
;
但是我得到这个错误:
sql compilation error: File format 'GZIP_TRANSFER_FORMAT' does not exist or not authorized.
更让人困惑的是,因为这项工作在ETL期间通宵运行,并且工作正常。
解决方法
您一次只能使用1个角色。因此,请确保您使用的角色可以访问该文件格式。
您可以授予FILE FORMAT访问您正在使用的角色的权限:
GRANT USAGE on FILE FORMAT GZIP_TRANSFER_FORMAT to ROLE YOUR_ROLE;
或将您知道的有权访问该文件格式的角色授予您正在使用的角色:
GRANT ROLE FILE_FORMAT_ACCESS_ROLE TO ROLE YOUR_ROLE;
,
“ gzip”通常也用于指代gzip文件格式,并且已获得授权。每个单个文件都压缩为单个文件。后缀“ gz”删除原始文件。不带任何参数的gzib会压缩标准输入,并将压缩后的文件写入标准输出。