关于 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 使用的几个示例。

  • Glue 是一种工具,可让您在 Amazon S3 数据湖上运行无服务器查询。 Amazon Glue 是帮助您入门的绝佳工具。 它使您可以在一个界面上访问所有数据,让您无需移动即可对其进行分析。
  • Amazon Glue 可用于了解您的数据资产。 Amazon Glue 使您可以使用数据目录轻松搜索不同的 AWS 数据集。 您还可以使用 Data Catalog 跨多个 AWS 服务保存数据,同时仍然拥有一致的视图。
  • Glue 在构建事件驱动的 ETL 工作流时会很有帮助。 您可以通过 AWS Lambda 服务调用 Glue ETL 任务,从 Amazon S3 执行 ETL 操作。
  • AWS Glue 还可用于清理、验证、格式化和组织数据以存储在数据湖或仓库中。
  如何在 Google 地图上查找可访问的公交路线

AWS Glue 的组件有哪些?

以下是 AWS Glue 的主要组件:

  • 数据目录:此数据目录包含元数据和数据结构。
  • 数据库:这是访问和创建源和目标数据库的关键。
  • 表:在数据库中创建一个或多个表,目标和源都可以使用。
  • 爬虫和分类器:爬虫通过使用内置或自定义分类从源检索数据。 它在数据目录中创建/使用预定义的元数据表。
  • 工作:这是执行 ETL 任务的业务逻辑工作。 此业务逻辑由 Apache Spark 在内部使用 python 和 scala 语言编写。
  • 触发器:ETL 触发器是按需或在特定时间启动执行 ETL 作业的设备。
  • 开发端点:这将创建一个环境,在该环境中测试、开发和调试 ETL 作业脚本。

AWS Glue 的优势

这些是在您的工作场所或组织内使用它的好处。

  • AWS Glue 使用爬网程序扫描所有可用数据。
  • 最终处理的数据可以存储在许多地方(Amazon RDS 和 Amazon Redshift、Amazon S3 等)。
  • 它是一种基于云的服务。 无需在本地基础设施上花钱。
  • 因为它是一个无服务器 ETL,所以它是一个具有成本效益的选择。
  • 它很快。 它立即为您提供 Python/Scala ETL 代码。

AWS Glue 的主要功能?

Amazon Glue 具有集成数据所需的所有功能,因此您可以获得更好的见解并利用您的知识在几分钟而不是几个月内取得新进展。 以下是您应该了解的一些功能。

  • 拖放界面:拖放作业编辑器允许您创建 ETL 流程。 AWS Glue 将立即构建提取、转换和上传数据所需的代码。
  • Automatic Sc​​hema Discovery:要创建连接到不同数据源的爬虫,您可以使用 Glue 服务。 它组织数据并提取相关信息。 这些数据随后可用于通过 ETL 任务监控 ETL 过程。
  • 作业调度:胶水可以按需使用,也可以根据预定的时间表使用。 调度程序可用于构建复杂的 ETL 管道,建立任务之间的依赖关系。
  • 代码生成:Glue Elastic Views 允许您轻松创建物化视图,这些视图可以组合和复制来自不同数据源的数据,而无需编写任何专有代码。
  • 内置机器学习:Glue 带有一个名为“FindMatches”的内置机器学习功能。 它会删除彼此不完美副本的记录。
  • 开发人员端点:如果您想积极开发 ETL 代码,Glue 提供开发人员端点,允许您修改、调试和测试它创建的代码。
  • Glue DataBrew:它是一种数据准备工具,数据分析师和数据科学家可以使用它来帮助他们清理和规范化数据。 它使用 Glue DataBrew 的活动和可视界面。

AWS Glue 定价如何运作?

AWS Glue 按小时收费,对于爬网程序(发现数据)和 ETL 作业(处理和加载数据)按每秒计费。 访问和存储 AWS Glue 数据目录中的元数据需要支付简单的月费。

Amazon Glue 起价为 0.44 美元。 您可以从四个计划中进行选择:

  • ETL 任务、开发端点和其他 ETL 任务的价格为 0.44 美元
  • Crawlers Interactive Sessions 的售价为 0.44 美元
  • DataBrew 工作起价为 0.48 美元
  • 每月存储和请求数据目录的费用为 1.00 美元
  如何将 Excel 工作表中的联系人导出到 Outlook

AWS 不提供免费的 Glue 计划。 每个 DPU 每小时将花费 0.44 美元。 平均而言,这将花费您每天 21 美元。 价格可能因您居住的地方而异。

设置 AWS Glue 的步骤

数据目录可用于快速查找和搜索多个 AWS 数据集,而无需移动数据。 数据编目后,可立即使用 Amazon Athena 和 Amazon EMR 进行查询和搜索。

参考:https://aws.amazon.com/glue/

  • Amazon Redshift、Amazon S3、Amazon RDS 和 Amazon EC2 上的数据库 – 发现您的数据、存储元数据并使用 AWS Glue 数据目录来发现它们
  • AWS Glue 数据目录 – 使用数据目录作为元数据的中央存储库来管理数据
  • AWS Glue ETL – 读取元数据并将其写入您的数据目录
  • Amazon Athena 和 Amazon Redshift、Amazon EMR、Amazon ETL – 获取用于 ETL、分析等的数据目录。

如何设置 AWS Glue?

首先,登录 AWS 管理控制台并打开 IAM 控制台。 单击创建角色。 然后对于角色类型,找到 Glue,然后选择权限。

我选择 AWSGlueServiceRole 获得一般 AWS Glue Studio 和 AWS Glue 权限,选择 AWS 托管策略 AmazonS3FullAccess 访问 Amazon S3 资源。

输入角色名称。

单击创建角色。

创建一个 Amazon S3 存储桶。

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

选择要上传的文件。

最后,上传bucket中的文件。

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

现在您在 AWS Glue 中有一个数据库,请创建一个爬网程序。

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

接下来,为您在开始时创建的 AWS Glue 选择 IAM 角色。

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

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

创建爬虫后,选择它并单击运行。 一段时间后,您将准备好状态。

通过运行爬虫,数据库将获得一个包含 CSV 文件中所有数据的表。

当您单击查看数据时,您将被带到 Amazon Athena(查询编辑器)。 运行查询时,您可以看到表数据。

现在,您可以在任何 ETL 作业中成功使用此 AWS Glue 爬网程序。

什么是 AWS Glue Databrew?

AWS Glue DataBrew 允许用户在不编写任何代码的情况下规范化和清理数据。 与定制开发的数据准备相比,DataBrew 可以将准备用于机器学习和分析的数据所需的时间减少多达 80%。

  如何在树莓派 4 上使用 Manjaro

有超过 250 种预制数据转换可用于自动执行数据准备任务,例如过滤异常、更正无效值以及将数据转换为标准格式。

DataBrew 使数据科学家、业务分析师和工程师可以更轻松地协作从原始数据中提取见解。 DataBrew 是无服务器的,因此您无需管理基础架构或创建集群来探索和转换价值 TB 的原始数据。

适用于企业的 DataBrew 功能

可视化数据准备

DataBrew 是一种查看数据的不同方式,这些数据通常在列式数据库中以字母数字形式查看。 DataBrew 可视化所有加载的数据源,以帮助您了解数据关系和层次结构。

250 多种数据准备自动化

作为工作的一部分,预计数据科学家将遵循各种可重复的、孤立的工作流程。 AWS 将这些工作流程和流程建模为与语言和数据无关的模块模块。 该库包含最终用户可以使用的操作。

数据沿袭

与用于跟踪 IT 网络的 IT 网络中的客户活动的审计日志类似,数据沿袭允许您跟踪 AWS DataBrew 中的数据转换活动。 此信息包括数据源、应用的转换和数据输出,包括目标位置。

数据映射

Databrew 允许您在两个数据源中查找匹配的字段。 一旦识别出匹配的字段,就可以将它们加载到模式中。

AWS Glue DataBrew:优势

以下是 AWS Glue DataBrew 的功能:

  • 降低数据准备的准入门槛
  • 自动数据配置文件生成
  • 自动化 250 多个数据准备流程
  • 智能处方建议

AWS Glue 的替代品

空气流动

Airflow 属于技术堆栈的 Workflow Manager 部分。 它是一个开源工具,支持 GitHub 星星、GitHub 分叉和其他功能。 Airflow 允许您使用有向无环图 (DAG) 创建工作流。 气流调度程序使用一组工作人员并遵循指定的依赖项来执行您的任务。

马蒂利翁

Matillion ETL 是一种 ETL/ELT 工具,专为 Amazon Redshift 和 Google BigQuery 等云数据库平台而设计。 它是一个基于浏览器的现代 UI,具有强大的下推 ETL/ELT 功能。 通过快速设置,您可以在几分钟内启动并运行。

Stitch 是一种开源 ETL 服务,可连接多个数据源并将数据复制到首选目的地。 它非常易于使用,因为您不需要任何编码知识即可在 Stitch 中的源和目标之间移动数据。 它易于使用,具有友好的 GUI,而且速度很快。

与其他 ETL 工具不同,Stitch 不允许您选择预制仪表板。 相反,您必须将数据集成到您选择作为目标的开放数据仓库中。 浏览库存可能很困难。

奥特里克斯

Alteryx 是一个分析自动化平台,可协助数据收集准备和混合。 这些数据可用于加快流程并提供业务洞察力。 因为它是一个拖放工具,所以您不需要任何编程知识。 Alteryx 是向行业专业人士寻求建议和答案的好地方。

结论

这就是 AWS Glue 的全部内容,它是一种基于云的解决方案,允许您使用 ETL 管道。 总而言之,AWS Glue 用户交互过程由三个阶段组成。 要创建数据目录,首先要使用数据爬虫。 接下来,您将创建 AWS 数据管道所需的 ETL 代码。 最后,创建 ETL 计划。 我希望这篇博客能让您对 Am​​azon Glue 有一个很好的了解。

您还可以探索保护 AWS S3 存储的最佳技巧。