目前,我在S3中有数千个无标题的、以管道分隔的GZIP压缩文件,总大小约为10TB,具有相同的模式。在AWS Glue中,(1)添加一个头文件,(2)使用文件中的"date“字段转换为按周划分的拼图格式,(3)将文件添加到Glue数据目录以便于在AWS Athena中查询,最好的方法是什么?
发布于 2019-05-18 13:07:28
1)创建一个雅典娜表,将您的数据指向S3:
Create external table on athena
2)使用您在上述步骤中创建的表,从glue目录创建动态框架。
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上的拼图数据:
Create external table on athena
注:您还可以使用glue crawler为您创建一个表,而不是手动创建athena表。然而,这将招致一些费用。
https://stackoverflow.com/questions/56186558
复制相似问题