首页开发教程Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

2025-10-28 131

目前Apache Iceberg已深度集成进 AWS 的数据湖生态系统,通过将 Iceberg 与 S3、Glue、Athena 等 AWS 服务结合,可以构建现代化的数据湖仓架构,实现更强的数据治理能力和分析性能。本文将介绍如何使用Amazon S3+AWS Glue+BladePipe五分钟快速构建数据管道,实现数据实时入湖。

一、BladePipe是什么

BladePipe是一款专业的端到端数据实时迁移同步工具,凭借其低延迟、高稳定性、自动化、可视化等优势,广泛应用于金融、医药、游戏、新能源汽车等领域。BladePip e支持 40+ 主流数据源, 对于 Iceberg 这类非传统数据库交互的产品,BladePipe 也实现了数据迁移同步的自动化流程,包括结构定义转换、类型映射、约束清理、类型长度适配等工作,都可在 BladePipe 一站式完成。

BladePipe 支持 Iceberg 3 种 Catalog 和 2 种存储方式,搭配关系为:

  • AWS Glue + Amazon S3
  • Nessie + MinIO / Amazon S3
  • Rest + MinIO / Amazon S3

BladePipe目前支持从以下数据源同步数据至 Iceberg:

  • MySQL/MariaDB/AuroraMySQL
  • Oracle
  • PostgreSQL
  • SQL Server
  • Kafka

二、数据同步流程

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

三、搭建准备

1、准备存储桶

亚马逊云科技官网:点击直达(免费领取12个月Amazon S3服务)

通过上方链接访问注册亚马逊云科技,并在Amazon S3上创建一个存储桶。具体步骤参考《AWS S3使用教程》。

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

2、准备BladePipe

BladePipe提供私有部署(On-Premise)和 BYOC 两种部署模式。本文将以 BYOC 部署模式为例,介绍同步流程。

在 BYOC 部署模式下,登录 BladePipe 云平台,根据 Install Worker(Docker) 或 Install Worker(Binary) 的指引,下载安装 BladePipe Worker。

四、Amazon S3+AWS Glue+BladePipe快速搭建数据管道

本案例将展示从 MySQL(自建) 到 Iceberg (AWS Glue + Amazon S3) 的数据迁移同步。

1、添加数据源

登录 BladePipe 平台,点击 数据源管理 > 添加数据源,添加 MySQL 和 Iceberg 数据源。

添加 Iceberg 数据源时所要填写的信息如下(<>内按实际情况替换)。

  • 网络地址:本例填写 AWS Glue 服务地址<aws_glue_region_code>.amazonaws.com;
  • 版本:保持默认值即可;
  • 描述:用于辨别实例用途;

额外参数配置:

  • httpsEnabled:打开开关,即设置为 true;
  • catalogName:设置一个意义明确的名字,如 glue_<biz_name>_catalog;
  • catalogType:设置为 GLUE;
  • catalogWarehouse:元数据和数据文件最终存放位置,如 s3://<biz_name>_iceberg;

catalogProps参考配置:

{
“io-impl”: “org.apache.iceberg.aws.s3.S3FileIO”,
“s3.endpoint”: “https://s3.<aws_s3_region_code>.amazonaws.com”,
“s3.access-key-id”: “<aws_s3_iam_user_access_key>”,
“s3.secret-access-key”: “<aws_s3_iam_user_secret_key>”,
“s3.path-style-access”: “true”,
“client.region”: “<aws_s3_region>”,
“client.credentials-provider.glue.access-key-id”: “<aws_glue_iam_user_access_key>”,
“client.credentials-provider.glue.secret-access-key”: “<aws_glue_iam_user_secret_key>”,
“client.credentials-provider”: “com.amazonaws.glue.catalog.credentials.GlueAwsCredentialsProvider”
}

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

2、创建任务

在 BladePipe 平台,点击 同步任务 > 创建任务。选择源(MySQL)和目标(Iceberg)实例,并分别点击 测试连接。其中 Iceberg 数据源结构迁移属性配置推荐如下:

{
“format-version”: “2”,
“parquet.compression”: “snappy”,
“iceberg.write.format”: “parquet”,
“write.metadata.delete-after-commit.enabled”: “true”,
“write.metadata.previous-versions-max”: “3”,
“write.update.mode”: “merge-on-read”,
“write.delete.mode”: “merge-on-read”,
“write.merge.mode”: “merge-on-read”,
“write.distribution-mode”: “hash”,
“write.object-storage.enabled”: “true”,
“write.spark.accept-any-schema”: “true”
}

如遇到测试连接长时间不返回,可以刷新页面重新选择。数据库连接信息错误或网络不通都可能造成该现象。

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

在性能配置页面,选择增量同步,并勾选全量初始化。任务规格选择默认 2 GB 或 1 GB 即可。不建议选择小于 1 GB 的任务,批量更新或写入较多可能造成任务内存紧张,性能急剧下降。

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

在表和操作过滤页面,选择需要迁移同步的表,可同时选择多张。单个任务推荐选择表数量控制在 1000 张以内。

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

在数据处理页面,保持默认配置。

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

在创建确认页面,点击创建任务,开始运行。

Amazon S3+AWS Glue+BladePipe快速实现数据实时入湖

至此,MySQL 数据库中的数据已实时传输到 Iceberg,延迟时间保持在 20 秒内。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章