基于Amazon SageMaker Unified Studio 构建可视化 ETL 工作流:低代码无代码实践
本文演示了如何使用 Amazon SageMaker Unified Studio 以低代码和无代码 (LCNC) 方式构建可视化 ETL 工作流,从而实现跨多个数据源无缝摄取和转换数据。以上就是本文的全部内容啦。最后提醒一下各位工友,如果后续不再使用相关服务,别忘了在控制台关闭,避免超出免费额度产生费用~
基于Amazon SageMaker Unified Studio 构建可视化 ETL 工作流:低代码无代码实践
新用户可获得高达 200 美元的服务抵扣金
亚马逊云科技新用户可以免费使用亚马逊云科技免费套餐(Amazon Free Tier)。注册即可获得 100 美元的服务抵扣金,在探索关键亚马逊云科技服务时可以再额外获得最多 100 美元的服务抵扣金。使用免费计划试用亚马逊云科技服务,最长可达 6 个月,无需支付任何费用,除非您选择付费计划。付费计划允许您扩展运营并获得超过 150 项亚马逊云科技服务的访问权限。
在 Unified Studio 中,可以使用熟悉的亚马逊云科技工具进行模型开发、构建生成式 AI 应用、处理数据和进行 SQL 分析等,从而更快地进行协作和构建。应用场景包括可视化 ETL。可视化 ETL 平台是一种新的可视化界面,让数据工程师能够轻松创建、运行和监控提取、转换、加载 (ETL) 数据集成流程。你可以使用简单的可视化界面来创建数据移动和转换流程,并使用无服务器计算服务运行这些流程。可视化 ETL 工作流还会自动将流程的有向无环图 (DAG) 转换为 Spark 原生脚本,以便继续通过 Notebook 进行后续编辑工作
本文将介绍如何以低代码和无代码 (LCNC) 的方式构建可视化 ETL 工作流,以实现跨多个数据源无缝摄取数据和转换数据。

1. 前提条件
-
创建并登录 亚马逊云科技账户
-
一个 SageMaker Unified Studio 域
-
一个包含数据分析和机器学习配置的 SageMaker Unified Studio 项目
2.构建可视化 ETL 工作流
使用数据集构建新的可视化 ETL 工作流:
- 在 SageMaker Unified Studio 控制台的顶部菜单中,选择 Build(构建)。
- 在 DATA ANALYSIS & INTEGRATION(数据分析与集成)下,选择 Visual ETL flows(可视化 ETL 工作流)

- 选择项目,然后单击 Continue(继续)。

- 单击 Create visual ETL flow(创建可视化 ETL 工作流)。

手动定义 ETL 工作流。
- 在左上角,单击圆圈中的 + 图标。在 Data sources(数据源)下,单击 Amazon S3。在画布上找到 Amazon S3 图标。

- 单击 Amazon S3 数据源节点,然后完成以下设置:
- S3 URI:s3://aws-blogs-artifacts-public/artifacts/BDB-4798/data/venue.csv
- Format(格式):CSV
- Delimiter(分隔符):,
- Multiline(多行):Enabled(启用)
- Header(标头):Disabled(禁用)
其余参数保留默认值。

- 等待屏幕底部出现数据预览。

- 单击 Amazon S3 节点右侧圆圈中的 + 图标。在 Transforms(转换)下,单击 Rename Columns(重命名列)。

- 选择 Rename Columns(重命名列)节点,然后单击 Add new rename pair(新增重命名对)。在 Current name(当前名称)和 New name(新名称)列中,输入以下名称映射对:
- _c0:venueid
- *_c1:venuename*
- *_c2:venuecity*
- *_c3:venuestate*
- *_c4:venueseats*

- 单击 Rename Columns(重命名列)节点右侧的 + 图标。在 Transforms(转换)下,选择 Filter(筛选)。
- 单击 Add new filter condition(新增筛选条件)。
12.在 Key(键)字段下,选择 venuestate。在 Operation(操作)字段下,选择 ==。在 Value(值)字段下,输入 DC。

- 重复步骤 5 和 6,添加 events 表的 Amazon S3 数据源节点。
- S3 URI:s3://aws-blogs-artifacts-public/artifacts/BDB-4798/data/events.csv
- Format(格式):CSV
- Sep(分隔符):,
- Multiline(多行):Enabled(启用)
- Header(标头):Disabled(禁用)
- 对该 Amazon S3 数据源节点重复步骤 7 和 8。选择 Rename Columns(重命名列)节点,单击 Add new rename pair(新增重命名对)。在 Current name(当前名称)和 New name(新名称)列中,输入以下名称映射对:
- _c0:eventid
- _c1:e_venueid
- *_c2:catid*
- *_c3:dateid*
- _c4:eventname
- *_c5:starttime*

- 单击 Rename Columns(重命名列)节点右侧的 + 图标。在 Transforms(转换)下,选择 Join(连接)。
16.将 Filter(筛选)节点右侧的 + 图标拖放到 Join(连接)节点的左侧。
17.将 Join type(连接类型)设置为 Inner(内部)。将 Left data source(左数据源)设置为 e_venueid。将 Right data source(右数据源)设置为 venue_id。

- 单击 Join(连接)节点右侧的 + 图标。在 Transforms(转换)下,选择 SQL Query(SQL 查询)。
- 输入以下查询语句:
select
venuename,
count(distinct eventid) as eventid_count
from {myDataSource}
group by venuename

- 单击 SQL Query(SQL 查询)节点右侧的 + 图标。在 Data target(数据目标)下,选择 Amazon S3。
- 单击 Amazon S3 目标节点,然后完成以下设置:
- S3 URI:<项目概述中的 S3 位置+后缀 /output/venue_event/>(如 s3:///dzd_bd693kieeb65yf/52d3z1nutb42w7/dev/output/venue_event/)
- Format(格式):Parquet
- Compression(压缩):Snappy
- Mode(模式):Overwrite(覆盖)
- Update catalog(更新目录):True(是)
- Database(数据库):选择你的数据库
- Table(表):venue_event_agg

此时,你应该会看到类似下图中这种端到端的可视化流程。现在,你可以发布这个工作流。

- 在页面右上角,单击 Save to project(保存到项目),保存流程编排。你还可以更改工作流名称和添加描述。然后,单击 Save to project(保存到项目)。

可视化 ETL 工作流已成功保存。
3. 运行可视化 ETL工作流
- 在工作流页面右上角,单击 Run(运行)。
屏幕底部显示运行状态。运行状态从 Starting(启动中)转换为 Running(运行中),再从 Running(运行中)转换为 Finished(已完成)。

- 等待运行状态变为 Finished(完成)。

使用 Amazon Athena 查询数据
输出数据已写入目标 S3 存储桶。本小节介绍如何查询输出数据表。
- 在左上角 Build 菜单下的 DATA ANALYSIS & INTEGRATION(数据分析和集成)下,选择 Query Editor(查询编辑器)。

- 在 Data explorer 页面的 Lakehouse 下,单击 AwsDataCatalog。导航到表 venue_event_agg。
- 单击右侧三个点图标,然后选择 Query with Athena(使用 Athena 查询)。

页面将显示四条返回记录。这表示已成功查询到可视化 ETL 工作流的输出表。

4. 使用生成式 AI 生成可视化 ETL 工作流
上述操作是在可视化控制台上逐步完成可视化 ETL 工作流创建。SageMaker Unified Studio 还支持使用基于 Amazon Q 的生成式 AI 自动创建工作流。
- 在左上角的菜单中,单击 Visual ETL flows(可视化 ETL 工作流)。
- 单击 Create visual ETL flow(创建可视化 ETL 工作流)。
- 输入以下文本内容,然后单击 Submit(提交)。
Create a flow to connect 2 Glue catalog tables venue and event in database glue_db, join on event id , filter on venue state with condition as venuestate==‘DC’ and write output to a S3 location

系统将自动创建以下工作流模板。你可以对其进行编辑,从而快速创建你需要的可视化 ETL 工作流。

生成的工作流节点上会保留用于生成该工作流模板的 Prompt 上下文。

总结
本文演示了如何使用 Amazon SageMaker Unified Studio 以低代码和无代码 (LCNC) 方式构建可视化 ETL 工作流,从而实现跨多个数据源无缝摄取和转换数据。
以上就是本文的全部内容啦。最后提醒一下各位工友,如果后续不再使用相关服务,别忘了在控制台关闭,避免超出免费额度产生费用~
更多推荐


所有评论(0)