繁体   English   中英

从 Amazon S3 存储桶文件创建/更新 Amazon Athena 表

[英]Create/update Amazon Athena tables from Amazon S3 bucket files

我已经上传了 Amazon S3 存储桶中所有表的 MySQL csv 文件/MYSQL zip 文件。 现在我想将 Amazon Athena 与 S3 存储桶文件链接起来。 但是当我为不同的表编写模式时,每个表的选择查询都显示相同的结果。 我搜索了很多,但无法理解执行此操作的确切/正确方法。

我想借助 S3 存储桶中的一个 csv /sql zip 文件在 Athena 中创建/更新不同的表架构。

Amazon Athena 将在定义的目录中查找数据。 该目录中的所有数据文件都将被视为包含给定表的数据。

您可以使用CREATE TABLE命令来定义架构并将 Athena 定向到目录,例如:

CREATE EXTERNAL TABLE test1 (
  f1 string,
  s2 string
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES ("separatorChar" = ",", "escapeChar" = "\\") 
LOCATION 's3://my-bucket/data-directory/'

您需要为每个表运行CREATE EXTERNAL TABLE命令,并且每个表的数据应位于单独的目录中。 CSV 文件可以是 ZIP 格式(这使得查询速度更快、成本更低)。

作为自己编写这些表定义的替代方法,您可以在 AWS Glue 中创建一个爬网程序 将搜寻器指向数据目录,提供名称,搜寻器将检查数据文件并创建与文件匹配的表定义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM