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

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

我在 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/

相关文章:

mysql - AWS Data Pipeline 的默认日期时间

amazon-web-services - 如何在上传开始和完成时收到通知

amazon-s3 - 在 CloudFormation 或 serverless.yml 中提供 OriginAccessIdentity 引用

amazon-web-services - 从 AWS Glue 升级到 Amazon Redshift

ssh - 尝试通过 SSH 连接到 Amazon EC2 实例时出现警告 : UNPROTECTED PRIVATE KEY FILE!

rest - S3 REST API 和 POST 方法

sql - 当前时间戳 Redshift

mysql - 使用 MySQL Workbench 简单连接到 Amazon RDS MySQL 数据库

node.js - AWS Lambda TooManyRequestsException : Rate Exceeded

amazon-web-services - 在 DynamoDB 中保存 AWS Cognito 用户