首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用AWS Glue将存储在S3中的无标题、压缩、以竖线分隔的文件转换为parquet

如何使用AWS Glue将存储在S3中的无标题、压缩、以竖线分隔的文件转换为parquet
EN

Stack Overflow用户
提问于 2019-05-17 20:35:41
回答 1查看 684关注 0票数 0

目前,我在S3中有数千个无标题的、以管道分隔的GZIP压缩文件,总大小约为10TB,具有相同的模式。在AWS Glue中,(1)添加一个头文件,(2)使用文件中的"date“字段转换为按周划分的拼图格式,(3)将文件添加到Glue数据目录以便于在AWS Athena中查询,最好的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-05-18 13:07:28

1)创建一个雅典娜表,将您的数据指向S3:

Create external table on athena

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

代码语言:javascript
复制
from awsglue.context import GlueContext
glueContext = GlueContext(SparkContext.getOrCreate())
DyF = glueContext.create_dynamic_frame.from_catalog(database="{{database}}", table_name="{{table_name}}")

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

代码语言:javascript
复制
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表。然而,这将招致一些费用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56186558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档