目前,我在S3中有数千个无头,管道分隔的GZIP压缩文件,总计约10TB,具有相同的架构。在AWS Glue中,最好的方法是(1)添加头文件,(2)使用文件中的“日期”字段转换为按周划分的拼花格式,(3)将文件添加到Glue数据目录可用于在AWS Athena中进行查询?
答案 0 :(得分:0)
1)创建一个指向您在S3上的数据的雅典娜表:
Create external table on 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上的实木复合地板数据的雅典娜表:
Create external table on athena
注意:除了手动创建雅典娜表之外,您还可以使用粘合爬虫为您创建一个。但是,这将产生一些费用。