AWS Redshift Spectrum - 如何获取外部表中的 s3 文件名

Raj*_*eev 4 amazon-s3 amazon-web-services amazon-redshift amazon-athena amazon-redshift-spectrum

我在 AWS 频谱中创建了外部表来查询 s3 数据,但是我无法识别记录所属的文件名(我在一个存储桶下有数千个文件)

在 AWS Athena 中,我们有一个伪列“$PATH”,它将显示 s3 文件名在使用频谱时是否有任何类似的方法可用?

gru*_*zip 7

从最近开始,您可以使用特定的伪列来访问 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
Run Code Online (Sandbox Code Playgroud)