我在 AWS 频谱中创建了外部表来查询 s3 数据,但是我无法识别记录所属的文件名(我在一个存储桶下有数千个文件)
在 AWS Athena 中,我们有一个伪列“$PATH”,它将显示 s3 文件名在使用频谱时是否有任何类似的方法可用?
最佳答案
从最近开始,您可以使用特定的伪列来访问 S3 中对象的路径和大小以获取沿袭信息。
http://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html#c-spectrum-external-tables-pseudocolumns
这种查询的一个例子是:
>> select distinct "$path", "$size" from spectrum.sales_part;
$path | $size
---------------------------------------+-------
s3://awssampledbuswest2/tickit/spectrum/sales_partition/saledate=2008-01/ | 1616
s3://awssampledbuswest2/tickit/spectrum/sales_partition/saledate=2008-02/ | 1444
s3://awssampledbuswest2/tickit/spectrum/sales_partition/saledate=2008-02/ | 1444
关于amazon-web-services - AWS Redshift Spectrum - 如何获取外部表中的 s3 文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44663412/