产品展示

  • 首页 产品展示 使用 AWS Glue 精简 SFTP 数据处理 大数据博客

使用 AWS Glue 精简 SFTP 数据处理 大数据博客

2026-01-27 12:52:35
22

使用 AWS Glue 简化 SFTP 数据处理

作者:Seun Akinyosoye Kamen Sharlandjiev Sean Bjurstrom Chris Scull Qiushuang Feng Vinod Jayendra Shengjie Luo日期:2024年8月13日分类:高级 (300) Amazon S3 AWS Glue AWS Transfer for SFTP 中级 (200) 技术指南永久链接 最新评论

关键要点

AWS Glue 是一种无服务器的数据集成服务,有助于将多种数据源中的数据转化为可操作的见解。使用 AWS Glue 的 SFTP 连接器,可以高效处理来自 SFTP 服务器的数据并加载到 Amazon S3。本文提供了使用 AWS Glue Studio 开发可视化 ETL 流程的详细步骤,包括数据加载、转换和存储。

在当今数据驱动的世界中,将来自不同来源的数据无缝集成和转化为可操作的见解至关重要。AWS Glue 是一种无服务器数据集成服务,帮助分析用户发现、准备、传输和集成来自多个来源的数据,以便进行分析、机器学习和应用程序开发。借助 AWS Glue,您可以轻松发现并连接数百个多样化的数据源,并在集中式数据目录中管理您的数据。它使您能够以可视化的方式创建、运行和监控提取、转换和加载ETL管道,将数据加载到数据湖中。

在本文中,我们将探讨如何利用 AWS Marketplace 中的 AWS Glue SFTP 连接器,从 Secure File Transfer Protocol (SFTP) 服务器高效地处理数据,并将其加载到 Amazon Simple Storage Service (Amazon S3),进一步增强您的数据分析和洞察能力。

AWS Glue SFTP 连接器介绍

AWS Glue SFTP 连接器简化了连接 AWS Glue 作业以从 SFTP 存储提取数据并将数据加载到 SFTP 存储的过程。该连接器提供全面的访问权限,以便进行云 ETL 过程,比如操作报告、备份和灾难恢复、数据治理等。

解决方案概述

在此示例中,您将使用 AWS Glue Studio 连接到 SFTP 服务器,然后丰富该数据并将其上传到 Amazon S3。该 SFTP 连接器用于管理与 SFTP 服务器的连接。您将从 SFTP 站点加载事件数据,将其与存储在 Amazon S3 上的场馆数据进行连接,应用转换操作,并将数据存储在 Amazon S3 中。事件和场馆文件来自 TICKIT 数据集。

TICKIT 数据集跟踪虚构的 TICKIT 网站的销售活动,用户可以在该网站上在线购买和出售体育赛事、演出和音乐会的门票。在该数据集中,分析师可以识别票务移动、卖家的成功率,以及最佳销售活动、场馆和季节。

在本示例中,您将使用 AWS Glue Studio 开发一个可视化 ETL 流水线:该流水线将从 SFTP 服务器读取数据,执行转换,然后将转换后的数据加载到 Amazon S3 中。以下图示说明了此架构。

在这篇文章结束时,您的可视化 ETL 作业将类似于以下截图。

先决条件

要实现此解决方案,您需要以下内容:

在 AWS Marketplace 中订阅 AWS Glue SFTP 连接器。访问一个具有上传和下载数据权限的 SFTP 服务器。 如果 SFTP 服务器托管在 Amazon Elastic Compute Cloud (Amazon EC2) 上,建议 SFTP 服务器与 AWS Glue 作业之间的网络通信发生在虚拟私有云VPC内,如上图所示。运行 Glue 作业时在 VPC 和安全组中,我们将在创建 AWS Glue 作业的步骤中进一步讨论。 如果 SFTP 服务器托管在您的本地网络内,建议通过 VPN 或 AWS DirectConnect 实现 SFTP 服务器与 Glue 作业之间的网络通信。访问一个 S3 存储桶或创建 S3 存储桶的权限。我们建议您通过 网关终端节点 连接到该存储桶。这将允许您直接从 VPC 连接到 S3 存储桶。如果需要创建 S3 存储桶以存储结果,请按照以下步骤进行: 在 Amazon S3 控制台中,选择导航窗格中的 Buckets。 选择 Create bucket。 在 Name 字段中输入一个全局唯一的存储桶名称,例如 tickituse1ltaccountnumbergt。 选择 Create bucket。 在您的 S3 存储桶中创建一个名为 tickit 的文件夹。 创建 网关终端节点。为 AWS Glue ETL 作业创建一个 AWS 身份和访问管理 (IAM) 角色。必须为该作业指定 IAM 角色,该角色必须授权获得作业所使用的所有资源的访问权限,包括 Amazon S3用于任何源、目标、脚本和临时目录和 AWS Secrets Manager。有关说明,请参见 为 ETL 作业配置 IAM 角色。

将数据集加载到 SFTP 站点

将来自 TICKIT 数据集的 alleventspipetxt 和 venuepipetxt 文件加载到您的 SFTP 服务器。

存储 SFTP 服务器登录凭证

AWS Glue 连接 是一个数据目录对象,存储连接信息,例如 URI 字符串和存储在 Secrets Manager 机密中的凭证位置。

要在 Secrets Manager 中存储 SFTP 服务器的用户名和密码,请完成以下步骤:

在 Secrets Manager 控制台中,选择导航窗格中的 Secrets。 选择 Store a new secret。 选择 Other type of secret。 输入主机的 Secret key,并将您的 SFTP 服务器的 IP 地址例如 15347122作为 Secret value,然后选择 Add row。 输入用户名为 Secret key,将您的 SFTP 用户名 输入为 Secret value,并选择 Add row。 输入密码为 Secret key,将您的 SFTP 密码输入为 Secret value,并选择 Add row。 输入 keyS3Uri 为 Secret Key,并将您的 SFTP 私钥文件在 Amazon S3 中的位置信息作为 Secret value。

注意:Secret Value 是存储 SFTP 服务器密钥文件的完整 S3 路径。例如:s3//sftpbucketjohndoe123/idrsa。

输入描述性的名称作为 Secret name,然后选择 Next。 选择 Next 以进入审核步骤,然后选择 Store。

在 AWS Glue 中创建与 SFTP 服务器的连接

完成以下步骤以创建与 SFTP 服务器的连接。

使用 AWS Glue 精简 SFTP 数据处理 大数据博客在 AWS Glue 控制台中,导航至 Data Catalog,选择 Connections。

选择 AWS Glue 40 的 SFTP 连接器,然后选择 Create connection。

输入连接名称,然后在 Connection access 下选择您为 SFTP 服务器凭证创建的 Secrets Manager 密钥。

在 AWS Glue 中创建 VPC 连接

数据连接用于在 VPC 和 AWS Glue 作业之间建立网络连接。要创建 VPC 连接,请完成以下步骤。

在 AWS Glue 控制台页面中,单击左侧菜单中的 Data Connections。 在连接面板中单击 Create connection 按钮。

选择 Network。

选择您的 SFTP 服务器所在的 VPC、子网 和 安全组。然后单击 Next。

将连接命名为 SFTP VPC Connect,然后单击 Create。

部署解决方案

现在我们已完成先决条件,将设置 AWS Glue Studio 作业以实现此解决方案。我们将创建一个 Glue Studio 作业,添加来自 SFTP 服务器的事件和场馆数据,执行数据转换,并将转换后的数据加载到 S3。

创建 AWS Glue Studio 作业:

在 AWS Glue 控制台的导航窗格中选择 ETL Jobs,然后选择 Visual ETL。 在中央面板选择 Visual ETL。 选择铅笔图标给您的作业输入名称。 选择 Job details 标签页。

向下滚动并选择 Advanced properties 并展开。 滚动到 Connections,并选择 SFTP VPC Connect。

选择 Visual 回到工作流编辑器页面。

将来自 SFTP 服务器的事件数据添加为您的第一个数据集:

选择 Add nodes,并在 Sources 中选择 SFTP Connector for AWS Glue 40。 输入以下 Data source properties: 键值headerfalsepath/files 此路径应为事件文件在 SFTP 服务器上的路径fileFormatcsvdelimiter

重命名事件数据集的列:

选择 Add nodes,然后在 Transforms 中选择 Change Schema。 输入以下转换属性: 在 Name 字段中,输入 Rename Event data。 在 Node parents 字段中,选择 SFTP Connector for AWS Glue 40。 在 Change Schema 部分中,将源键映射到目标键: col0:eventid col1:evenueid col2:catid col3:dateid col4:eventname col5:starttime

从 SFTP 站点添加 venuepipetxt 文件:

选择 Add nodes,并在 Sources 中选择 SFTP Connector for AWS Glue 40。 输入以下 Data source properties: 在 Connection 字段中,选择您在 Create the connection to the SFTP server in AWS Glue 中创建的 SFTP 服务器的连接。 输入以下键值对: 键值headerfalsepath/files 此路径应为场馆文件在 SFTP 站点上的路径fileFormatcsvdelimiter

重命名场馆数据集的列:

选择 Add nodes,然后在 Transforms 中选择 Change Schema。 输入以下转换属性: 在 Name 字段中,输入 Rename Venue data。 在 Node parents 字段中,选择 Venue。 在 Change Schema 部分中,将源键映射到目标键: col0:venueid col1:venuename col2:venuecity col3:venuestate col4:venueseats

将场馆数据集与事件

飞机vpv加速器
Netis路由器存在链式认证绕过和远程代码执行缺陷

Netis 路由器固件漏洞概览关键信息多款 Netis 路由器发现固件漏洞,可能导致敏感信息泄露、身份验证绕过和远程代码执行RCE。受影响的型号包括 NX10、NC65、NC63、NC21 和 MW5360。这些漏洞由 GitHub 用户 h00diegr3y 发现,并发表了相关分析,但至今未获得 ...



启用基于指标和计划的扩展功能以支持 Amazon Managed Service for Apach

为 Amazon 管理服务的 Apache Flink 启用基于指标和计划的扩展作者 Francisco Morillo 和 Deepthi Mohan 发表于 2024年1月10日,Amazon CloudWatch,Amazon EventBridge,Amazon 管理服务的 Apache F...