【问题标题】:AWS Redshift Spectrum - how to get the s3 filenames in the external tableAWS Redshift Spectrum - 如何获取外部表中的 s3 文件名
【发布时间】:2017-11-23 14:36:49
【问题描述】:

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

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

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-redshift amazon-athena amazon-redshift-spectrum


    【解决方案1】:

    从最近开始,您可以使用特定的伪列来访问 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
    

    【讨论】:

    • 只有一条评论:目前嵌套表不支持伪列。
    猜你喜欢
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2019-08-22
    • 1970-01-01
    • 2021-01-12
    • 2017-10-16
    相关资源
    最近更新 更多