【AWS】整理学习AWS用语 – 第8部分 AWS Glue

【AWS】通过整理术语学习AWS – 第8部分 AWS Glue

首先

这篇文章是通过Cloud Tech学习AWS Glue(以下简称Glue)的文章。主要内容是以实践时的笔记为主要写作内容(包括易忘事项等)。如果有错误,将进行修正。

这次我们使用了云技术来学习RDS和S3。

AWS Glue是什么

Glue 是一项完全托管的数据分析服务,可以在AWS上定义和执行ETL操作。
它使用在AWS上构建的数据湖作为数据源,通过无需编码的方式创建和执行分析任务。

例如,像Amazon Redshift、Amazon S3、Amazon RDS等数据存储和数据库服务可以作为Glue的分析对象。
此外,在所需的元信息中,例如数据库的列名和ETL所需的头信息可以使用爬虫进行获取。

你说的“数据湖”?还是“ETL”?还是“爬虫”?有好多我不懂的术语啊…

数据湖是什么?

将存储不同数据类型的仓库或数据聚合环境称为数据湖。

亚马逊云计算(AWS)将数据湖定义为以下方式。

数据湖是一个统一存储库,可以保存所有结构化数据和非结构化数据,无论规模大小。由于可以直接存储数据,因此不需要对数据进行结构化处理。同时,可以执行各种类型的分析,如仪表盘和可视化、大数据处理、实时分析和机器学习,从而帮助做出准确的决策。

数据湖的定义

简单来说,数据湖是一个环境,其中包含了以关系型数据库、NoSQL数据库、CSV等格式保存的文本文件。对于执行数据分析的人来说,它是非常重要的环境之一。数据存储库和数据流也是数据湖的一部分。

基于这些数据源,我们对数据进行处理并保存到图表中。这个过程被称为ETL。

ETL的含义是什么?

ETL是Extract Transform Load的缩写。
具体来说,ETL是指将原始数据(Raw Data)进行抽取并转换成特定格式后保存的过程。

ETL 的主要目的是创建用于进行有意义的可视化的数据。

由于深入探讨会形成一篇文章,所以这次跳过了。简单来说,在将数据可视化之前,抽取、转换和加载的一系列操作被称为ETL。

我已经解释了ETL,但如果要对特定数据执行ETL,则需要提供描述数据的头信息和元数据。
例如,如果是CSV文件,则需要提供第一行的头信息;如果是数据库,则需要提供模式信息。
这些信息将由爬虫获取。

爬虫是什么意思?

这个功能是用于获取分析对象的标头信息和元数据。在最近的分析工具中,很多时候数据会在与SaaS协同时自动获取。通过爬虫获取的数据将用于ETL的控制。

在Web技术中,也有一个称为”爬虫”的词语,它指的是收集数据和图片,也就是获取数据的意思。

如果要在Glue上执行数据分析,则需要创建并执行一个网页爬虫,然后根据网页爬虫的内容执行ETL。
在执行ETL时,Glue使用作业作为执行ETL的单位。

职业(zhí yè)是什么?

这是一个包含执行ETL操作的Glue任务。通过设置调度,可以让Glue自动执行ETL操作。

可以被Glue处理的服务

我已经大致介绍了Glue的相关术语。

Glue是一项可以在AWS上对数据湖进行分析的服务。数据源包括数据存储和数据流。

データストア

Amazon S3
Amazon Relational Database Service (Amazon RDS)
JDBC アクセスが可能なサードパーティのデータベース
Amazon DynamoDB
MongoDB と Amazon DocumentDB (MongoDB 互換)

データストリーム

Amazon Kinesis Data Streams
Apache Kafka

AWS Glue的机制

需注意的事项

根据用法和需求的不同,AWS上的数据湖也可以部署在未连接互联网的私人网络中。

例如,主要的Amazon RDS不会放置在公共网络上。
特别是包含PII信息的数据库,我认为不会放置在公共网络中。

若要将部署在此类私有网络中的RDS与Glue连接起来,需要建立RDS的自引用安全组规则。

让我们基于这些来看一下连接RDS和Glue的流程。

※自己设定规则

使用Glue执行ETL并保存结果的流程。

要将RDS和Glue连接起来,主要需要经过8个步骤。当然,如果涉及到需要VPC(虚拟私有云)的服务,那么Glue就需要能够访问VPC,还有之前提到过的自引用规则的安全组也是必需的。

    1. 创建IAM策略和角色

 

    1. 建立与数据源的连接

 

    1. 在Glue上创建数据库

 

    1. 创建爬虫

 

    1. 运行爬虫

 

    1. 创建ETL

 

    1. 运行ETL

 

    将数据输出到特定的数据存储和数据库服务中

总结

尽管AWS Glue作为分析服务非常优秀,但由于管理控制台界面分为传统页面和非传统页面,使得它给人一种非常棘手的印象。

但是,ETL可以基于UI进行无代码实现等方面的功能,因此对于希望快速进行分析的人来说可能是一个不错的服务。

结束

bannerAds