文件格式“ GZIP_TRANSFER_FORMAT”不存在或未被授权

问题描述

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会压缩标准输入,并将压缩后的文件写入标准输出。