AWS Glue当然可以处理大量级别的ETL,除此之外还可以通过增加 groupSize 参数的值、使用 maxRecordsPerFile来处理少量的大文件。AWS Glue是亚马逊云旗下的数据集成服务,借助可视化和代码编辑功能,有效提高企业提取、转换、加载数据的效率,下文为了帮助大家更好的了解AWS Glue,接下来将详细叙述ELT是什么及AWS Glue的有关内容。
推荐阅读:《AWS Glue是什么 AWS Glue调用存储过程》
一、ETL是什么
ETL是将多个不同系统的数据提取、转换、加载集成到统一数据仓库的过程,全称是ETL是Extract Transform Load,有利于企业的科学决策,可有限应用于存储、数据分析和机器学习(ML)等领域,以满足预测业务的决策结果、生成报告和控制面板、减少无效运营等需求。
通过应用提取、转换、加载(ETL)过程,可以以更易于分析的格式和结构准备单个原始数据集,从而产生更有意义的见解。例如在线零售商可以分析来自销售点的数据来预测需求和管理库存;营销团队可以将 CRM 数据与社交媒体上的客户反馈相结合,以研究使用器行为。
二、AWS Glue可以处理大量级别的ETL吗AWS Glue可以处理100多个不同数据来源的ETL,通过大量数据的无服务器集成处理服务,可以更加有效直观地丰富、清理和规范化数据,而无需编写任何代码,进一步节省用户的云计算运行资源。
点击链接:领取AWS Glue免费服务
1、AWS Glue主要作用
- 可以在集中的数据目录中管理数据
- 数据工程师、ETL 开发人员、数据分析师和商业用户可以使用 AWS Glue Studio 创建、运行和监控 ETL 管道,以便将数据加载到数据湖中。
- AWS Glue Studio 提供有可视化 ETL、笔记本和代码编辑器界面,使用户拥有与其技能相对应的工具。
- 借助交互式会话,数据工程师可以使用其首选的 IDE 或笔记本探索数据以及撰写和测试任务。
- AWS Glue 是一项无服务器服务,可按需自动扩缩,因此可以更专注于从 PB 级数据中获取见解,无需管理基础设施。
2、AWS Glue如何处理少量的大文件
(1)增加 groupSize 参数的值
当使用动态框架且 Amazon Simple Storage Service (Amazon S3) 数据集包含超过 50,000 个文件时,AWS Glue ETL 作业会自动对文件进行分组。要创建少量较大型输出文件,请增加 groupSize 值。
在以下示例中,groupSize 设置为 10485760 个字节,或大约 10 MB:
dyf = glueContext.create_dynamic_frame_from_options("s3", {'paths': ["s3://awsexamplebucket/"], 'groupFiles': 'inPartition', 'groupSize': '10485760'}, format="json")
注:仅 .csv、.ion、.grokLog、.json 和 .xml 文件格式支持 groupSize 和 groupFiles 参数,.avro、.parquet 和 .orc 文件格式不支持这些参数。
(2)使用 maxRecordsPerFile
在 Spark write 方法中使用 maxRecordsPerFile 来增加每个文件的最大记录计数,以下示例将最大记录计数设置为 20:
df.write.option("compression", "gzip").option("maxRecordsPerFile", 20).json(s3_path)
注:maxRecordsPerFile 选项为每个文件的记录计数设置了更高的配额。每个文件的记录计数可能仍小于 maxRecordsPerFile 的值,如果将 maxRecordsPerFile 设置为零或负数,则记录计数没有配额。
推荐阅读:《如何用AWS存储表格数据》
(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

微信扫码加好友进群
主机优惠码及时掌握

QQ群号:938255063
主机优惠发布与交流