0

目前,我在 S3 中有数千个无标头、管道分隔的 GZIP 压缩文件,总计约 10TB,具有相同的架构。在 AWS Glue 中,(1) 添加头文件,(2) 使用文件中的“日期”字段转换为按周分区的镶木地板格式,(3) 将文件添加到 Glue 的最佳方法是什么用于在 AWS Athena 中进行查询的可访问性数据目录?

4

1 回答 1

1

1)创建一个指向 S3 上的数据的 athena 表:

在雅典娜上创建外部表

2) 使用您在上述步骤中创建的表格,从胶水目录创建一个动态框架。

from awsglue.context import GlueContext
glueContext = GlueContext(SparkContext.getOrCreate())
DyF = glueContext.create_dynamic_frame.from_catalog(database="{{database}}", table_name="{{table_name}}")

3) 以您喜欢的任何格式将数据写回新的 S3 位置:

glueContext.write_dynamic_frame.from_options(
   frame = DyF,
   connection_type = "s3",
   connection_options = {"path": "path to new s3 location"},
   format = "parquet")

4)创建一个雅典娜表,指向 S3 上的镶木地板数据:

在雅典娜上创建外部表

注意:您也可以使用胶水爬虫为您创建一个,而不是手动创建 athena 表。但是,这将产生一些费用。

于 2019-05-18T05:07:27.990 回答