View a markdown version of this page

指定 Amazon S3 中的表位置 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

指定 Amazon S3 中的表位置

在 Athena 中运行 CREATE TABLE 查询时,Athena 将您的表注册到 Amazon Glue Data Catalog 中,这是 Athena 存储元数据的地方。

要在 Amazon S3 中指定数据的路径,请使用 CREATE TABLE 语句中的 LOCATION 属性,如以下示例中所示:

CREATE EXTERNAL TABLE `test_table`( ... ) ROW FORMAT ... STORED AS INPUTFORMAT ... OUTPUTFORMAT ... LOCATION s3://amzn-s3-demo-bucket/folder/
  • 有关命名存储桶的信息,请参阅《Amazon Simple Storage Service 用户指南》中的 存储桶限制和局限。

  • 有关在 Amazon S3 中使用文件夹的信息,请参阅《Amazon Simple Storage Service 用户指南》中的 使用文件夹。

Amazon S3 中的 LOCATION 指定表示您的表的所有文件。

重要

Athena 会读取存储在您指定的 Amazon S3 文件夹中的全部数据。如果您有不希望 Athena 读取的数据,请不要在与您希望 Athena 读取的数据所在的相同 Amazon S3 文件夹中存储这些数据。

在 CREATE TABLE 语句中指定 LOCATION 时,请使用以下准则:

  • 使用尾部斜杠。

  • 您可以使用 Amazon S3 文件夹或 Amazon S3 访问点别名的路径。有关 Amazon S3 访问点别名的信息,请参阅《Amazon S3 用户指南》中的为您的访问点使用存储桶式别名。

使用:

s3://amzn-s3-demo-bucket/folder/
s3://amzn-s3-demo-bucket-metadata-s3alias/folder/

请勿使用以下任何项目来指定数据的 LOCATION。

  • 请勿使用文件名、下划线、通配符或 glob 模式来指定文件位置。

  • 请勿将完整 HTTP 表示法(例如 s3.amazon.com)添加到 Amazon S3 存储桶路径。

  • 请勿在路径中使用空文件夹(如 //),如下所示:S3://amzn-s3-demo-bucket/folder//folder/。

  • 不要使用如下路径:

    s3://amzn-s3-demo-bucket s3://amzn-s3-demo-bucket/* s3://amzn-s3-demo-bucket/mySpecialFile.dat s3://amzn-s3-demo-bucket/prefix/filename.csv s3://amzn-s3-demo-bucket.s3.amazon.com S3://amzn-s3-demo-bucket/prefix//prefix/ arn:aws:s3:::amzn-s3-demo-bucket/prefix s3://arn:aws:s3:<region>:<account_id>:accesspoint/<accesspointname> https://<accesspointname>-<number>.s3-accesspoint.<region>.amazonaws.com