关于AWS Glue,你不知道的事情
Amazon Glue因为许多公司开始使用托管的数据集成服务而受到欢迎。
ETL是将数据从源数据库转移到数据仓库的过程。由于其复杂性,ETL对于所有企业数据的实施是复杂且困难的。亚马逊推出了AWS Glue来解决这个问题。
ETL开发人员和数据工程师使用Glue构建、监控和运行ETL工作流程。
AWS Glue 是什么?
AWS Glue是一种无服务器数据集成服务,可以轻松查找、准备、移动和集成来自多个源的数据。这对于机器学习(ML)和分析非常有用。
它大大减少了准备数据进行分析所需的时间。它会自动查找和列出数据,生成Scala或Python代码以从源传输数据,并根据定时事件加载和转换作业。
这允许灵活的调度,并创建一个可按目标数据加载进行扩展的Apache Spark环境。此外,AWS Glue还提供了复杂的数据流监视和更改功能。AWS Glue是一个无服务器服务,简化了应用程序开发的复杂操作。
它允许快速集成多个有效的数据。它还可以快速解析和授权数据。
AWS Glue 用于什么?
了解在哪些地方使用Amazon Glue是很重要的。以下是您应该考虑的AWS Glue用途的几个示例。
- Amazon Glue是一种工具,可以在数据湖上运行无服务器查询。
- Amazon Glue是一个很好的入门工具。它在一个界面上使所有数据都可以访问,无需移动数据即可进行分析。
- Amazon Glue可用于了解您的数据资产。Amazon Glue使您可以使用数据目录搜索不同的AWS数据集。您还可以使用数据目录将数据保存在多个AWS服务上,同时保持一致的视图。
- 在构建事件驱动的ETL工作流程时,Glue可以提供帮助。通过调用AWS Lambda服务,您可以从Amazon S3执行ETL操作来调用Glue ETL任务。
- AWS Glue还可用于清理、验证、格式化和组织数据以存储在数据湖或数据仓库中。
AWS Glue 的组件
以下是AWS Glue的主要组件:
- 数据目录:此数据目录包含元数据和数据结构。
- 数据库:这是访问和创建源和目标数据库的关键。
- 表:在数据库中创建一个或多个可供目标和源使用的表。
- 爬虫和分类器:爬虫使用内置或自定义的分类来从源中检索数据。它在数据目录中创建/使用预定义的元数据表。
- 作业:这是执行ETL任务的业务逻辑。此业务逻辑由Apache Spark使用Python和Scala语言内部编写。
- 触发器:ETL触发器是一种设备,可以按需或在特定时间启动ETL作业的执行。
- 开发终端:这创建了一个环境,用于测试、开发和调试ETL作业脚本。
AWS Glue 的好处
以下是在工作场所或组织内使用AWS Glue的好处。
- AWS Glue通过爬虫扫描所有可用数据。
- 最终处理的数据可以存储在多个位置(Amazon RDS和Amazon Redshift、Amazon S3等)。
- 它是一种基于云的服务。无需在本地部署基础设施上花费资金。
- 由于它是无服务器ETL,因此是一种具有成本效益的选择。
- 它很快。它立即为您提供Python/Scala ETL代码。
AWS Glue的主要特点
Amazon Glue拥有您需要的所有功能,以便您集成数据,从而可以更好地洞察数据并利用您的知识在几分钟内取得新的进展,而不是几个月。以下是您应该了解的一些功能。
- 拖放界面: 拖放作业编辑器允许您创建ETL过程。AWS Glue将立即构建所需的代码来提取、转换和上传数据。
- 自动模式发现:您可以使用Glue服务创建连接到不同数据源的爬虫,它可以组织数据并提取相关信息。然后这些数据可以被用来通过ETL任务监控ETL过程。
- 作业调度: Glue可以根据需要使用,也可以按照预定的计划使用。调度器可以用于构建复杂的ETL流水线,建立任务之间的依赖关系。
- 代码生成:Glue弹性视图允许您轻松创建材料化视图,将来自不同数据源的数据组合和复制,而无需编写任何专有代码。
- 内置机器学习:Glue附带了一个内置的机器学习功能,称为“FindMatches”。它能够去重不完全相同的记录。
- 开发者终端点:如果您想积极开发您的ETL代码,Glue提供了开发者终端点,允许您修改、调试和测试它所创建的代码。
- Glue DataBrew:它是一个数据准备工具,可以被数据分析师和数据科学家使用,帮助他们清洁和规范化数据。它使用Glue DataBrew的活动和可视化界面。
AWS Glue定价如何工作?
AWS Glue charges 对爬虫(发现数据)和ETL作业(处理和加载数据)按秒计费。访问和存储AWS Glue数据目录的月度费用是一个简单的月度费用。
Amazon Glue的起价为0.44美元。您可以选择四个计划:
- ETL任务、开发终端点和其他ETL任务的费用为0.44美元
- 爬虫交互会话的费用为0.44美元
- DataBrew作业的起价为0.48美元
- 每月存储和对数据目录的请求费用为1.00美元
AWS不提供免费的Glue计划。每个小时的费用为0.44美元每个DPU。平均而言,每天的费用将为21美元。价格可能因居住地的不同而有所变化。
设置AWS Glue的步骤
数据目录可以用于快速查找和搜索多个AWS数据集,而无需移动数据。在数据被编目后,它们可以立即使用Amazon Athena和Amazon EMR进行查询和搜索。

- Amazon Redshift、Amazon S3、Amazon RDS和Amazon EC2上的数据库-发现您的数据,存储元数据,并使用AWS Glue数据目录进行发现
- AWS Glue数据目录-使用数据目录作为元数据的中央存储库来管理数据
- AWS Glue ETL-读取和写入元数据到您的数据目录
- Amazon Athena和Amazon Redshift、Amazon EMR、Amazon ETL-获取用于ETL、分析等的数据目录。
- Amazon QuickSight-使用Amazon QuickSight和其他business intelligence工具运行报告
如何设置AWS Glue?
首先,登录AWS管理控制台并打开IAM控制台。点击创建角色。然后在角色类型中,找到Glue,并选择权限。
我正在选择AWSGlueServiceRole用于一般AWS Glue Studio和AWS Glue权限,并选择AWS托管策略AmazonS3FullAccess以访问Amazon S3资源。

输入角色名称。

点击创建角色。

创建一个Amazon S3存储桶。


在S3存储桶中创建一个文件夹。

选择要上传的文件。

最后,在存储桶中上传文件。

接下来,从AWS管理控制台打开AWS Glue并创建一个数据库。

现在您已经在AWS Glue中有一个数据库,请创建一个爬虫。

在数据源中,选择您创建的S3存储桶。

接下来,选择一开始创建的AWS Glue的IaM角色。

最后,在输出中,选择您创建的gluedb
。

复查所有设置并创建爬虫。

爬虫创建后,选择它并点击运行。过一段时间,您将看到状态为就绪。

运行爬虫后,数据库将获得一个包含来自CSV文件的所有数据的表。

当您点击查看数据时,您将进入Amazon Athena(查询编辑器)。运行查询时,您可以看到表格数据。

现在您可以在任何ETL作业中成功使用这个AWS Glue爬虫。
AWS Glue Databrew是什么?
AWS Glue DataBrew允许用户在不编写任何代码的情况下对数据进行规范化和清理。 DataBrew可以减少为机器学习和分析准备数据所需的时间,与自定义开发的数据准备相比,可以减少高达80%。
有250多个预制的数据转换可用于自动化数据准备任务,例如过滤异常值,纠正无效值和将数据转换为标准格式。
DataBrew使数据科学家,业务分析师和工程师更容易合作从原始数据中提取洞察力。 DataBrew是无服务器的,因此您无需管理基础架构或创建集群来探索和转换数千兆字节的原始数据。
企业级DataBrew功能
可视化数据准备
DataBrew是一种以字母数字方式通常在列式数据库中查看的数据的不同方式。 DataBrew可视化所有加载的数据源,以帮助您理解数据关系和层次结构。
250多种数据准备自动化
数据科学家需要遵循各种可重复,隔离的工作流程作为其工作的一部分。这些工作流程和过程已由AWS建模为语言和数据不可知模块模块。此库包括最终用户可以使用的操作。
数据血统
类似于用于跟踪IT网络中客户活动的审计日志,数据血统允许您跟踪AWS DataBrew内部的数据转换活动。此信息包括数据源,应用的转换以及数据输出,包括目标位置。
数据映射
Databrew允许您在两个数据源中查找匹配字段。确定匹配字段后,可以将它们加载到模式中。
AWS Glue DataBrew的好处
以下是AWS Glue DataBrew的功能:
- 降低数据准备的门槛
- 自动化数据概要生成
- 自动执行250多个数据准备过程
- 智能建议
AWS Glue的替代方案
Airflow

Airflow属于技术栈中的工作流管理器部分。它是一个开源工具,支持GitHub星标、GitHub分叉和其他功能。Airflow允许您使用有向无环图(DAGs)创建workflows。Airflow调度程序使用一组工作程序执行您的任务,并遵循指定的依赖关系。
Matillion

Matillion ETL是一款专为云数据库平台如Amazon Redshift和Google BigQuery设计的ETL/ELT工具。它是一个现代化的基于浏览器的用户界面,具有强大的下推ETL/ELT功能。您只需进行快速设置,就可以在几分钟内运行起来。
Stitch
Stitch是一个开源ETL服务,可连接多个数据源并将数据复制到首选目的地。它非常易于使用,您无需任何编程知识即可在Stitch中在源和目的地之间移动数据。它易于使用,具有友好的图形用户界面,并且速度快。
与其他ETL工具不同,Stitch不允许您选择预制的仪表板。相反,您必须将数据集成到您选择的开放数据仓库作为目的地。这可能很难导航清单。
Alteryx

Alteryx是一个分析自动化平台,可帮助您收集准备和混合数据。这些数据可用于加快流程并提供业务见解。由于它是一个拖放工具,您不需要任何编程知识。Alteryx是一个向行业专业人士寻求建议和答案的好地方。
结论
所以,这就是关于AWS Glue的全部内容,它是一个基于云的解决方案,可以让您使用ETL管道进行工作。总结一下,AWS Glue用户交互过程包括三个阶段。首先,您使用数据爬虫创建数据目录。然后,您创建AWS数据管道所需的ETL代码。最后,创建ETL计划。希望本博客能为您提供关于Amazon Glue的良好概述。
您还可以了解如何保护AWS S3 storage的最佳提示。