You need to enable JavaScript to run this app.
导航
配置 Iceberg 数据源
最近更新时间:2024.09.25 11:24:10首次发布时间:2024.09.25 11:24:10

全域数据集成 DataSail Iceberg 数据源为您提供离线和流式写入火山引擎 E-MapReduce(EMR)Iceberg 的单向通道能力。本文为您介绍 DataSail 的 Iceberg 数据同步的能力支持情况。

1 支持的 Iceberg 版本

支持半托管火山引擎 E-MapReduce(EMR) Iceberg 1.4.3 版本。

2 使用限制

  1. 目前仅支持离线写,流式写入 EMR Iceberg。
  2. 子账号新建数据源时,需要有项目的管理员角色,方可以进行新建数据源操作。各角色对应权限说明,详见:管理成员
  3. 为确保同步任务使用的独享数据集成资源组具有目标 EMR Iceberg 节点的网络访问能力。建议 EMR 集群使用的 VPC 需和独享集成资源组中的 VPC 保持一致。
    若确实无法保持一致时,可参考独享集成资源组和 EMR Iceberg 节点网络打通方案,详见 网络连通解决方案

3 数据同步任务开发

3.1 数据源注册

新建数据源操作详见配置数据源,以下为您介绍 EMR Iceberg 数据源配置相关信息。
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数

说明

基本配置

*数据源类型

Iceberg

*接入方式

EMR Iceberg

*数据源名称

数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。

参数配置

*认证方式

目前不支持选择认证方式,默认为无。

*EMR 集群 ID

下拉选择已创建成功的 EMR Hadoop 集群名称,且集群中包含 Iceberg 组件,若还未创建相关集群,您可前往 EMR-控制台创建。详见创建集群

*数据库名

下拉选择集群环境中,已创建的数据库名称。
您也可单击创建数据库按钮,跳转前往数据地图中,创建相关的库名信息。

Iceberg 版本号

依据已选择的 EMR Hadoop 集群,自动展现集群中 Iceberg 组件的版本号。

用户名

有权限访问数据库的用户名信息。

密码

输入用户名对应的密码信息。

Access Key ID

如果您需要访问 Iceberg on TOS,您需填写 Access Key Id 和 Secret Access Key 信息。
进入火山引擎,访问控制台的密钥管理界面,复制 Accesskey ID 填写到此处。如果为子用户,请联系主账号获取密钥。

说明

  • 填写的 AK\SK 信息,需要有对应存储桶的读取权限。
  • 您需要访问 Iceberg On Tos,但没有填写 Access Key Id 和 Secret Access Key 信息时,您也可以通过以下方式填写:
    • 在 EMR 集群的 HDFS core-site.xml 文件中添加 fs.tos.access-key-id 和 fs.tos.secret-access-key 信息。
    • 可在集成任务的高级参数中添加以下参数
      • 读:job.reader.hadoop.fs.tos.access-key-id、job.reader.hadoop.fs.tos.secret-access-key;
      • 写:job.writer.hadoop.fs.tos.access-key-id、job.writer.hadoop.fs.tos.secret-access-key。

Secret Access Key

与 Access Key ID 配套使用,类似登录密码,用于签名您的访问参数,以防被篡改。

扩展配置

您可输入 HDFS 配置的可选扩展,例如 Hadoop HA 的配置信息。

3.2 新建离线任务

Iceberg 数据源测试连通性成功后,进入到数据开发界面,开始新建 Iceberg 相关通道任务。新建任务方式详见离线数据同步

3.3 可视化配置说明

任务创建成功后,您可根据实际场景,配置 Iceberg 离线写等通道任务。

3.3.1 Iceberg 批式写

图片
数据目标类型选择 Iceberg,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数

说明

*目标类型

下拉选择 Iceberg 数据源类型。

*数据源名称

已在数据源管理中注册成功的 Iceberg 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 Iceberg 数据源。

*数据表

选择需要写入数据的 Iceberg 表名称信息,下拉可选。

*写入方式

选择目标数据写入方式,支持以下两种写入方式:

  • upsert:写入的数据按指定唯一键进行更新,您需要选择唯一键,可以多选;
  • append:追加写模式。

*唯一键

Iceberg 数据表选择完成后,可下拉选择表中对应的唯一键字段。

3.3.2 Iceberg 流式写

图片
数据目标类型选择 Iceberg,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

参数

说明

*目标类型

下拉选择 Iceberg 数据源类型。

*数据源名称

已在数据源管理中注册成功的 Iceberg 数据源,下拉可选。
若还未建立相应数据源,可单击数据源管理按钮,前往创建 Iceberg 数据源。

*数据表

选择需要写入数据的 Iceberg 表名称信息,下拉可选。

*写入方式

选择目标数据写入方式,支持以下两种写入方式:

  • upsert:写入的数据通常按主键唯一进行更新,流式 upsert 写入目前您需额外配置高级参数来填写主键信息。详见4.1 写入 Iceberg 高级参数
  • append:追加写模式。

3.4.3 字段映射

数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
字段映射支持选择基础模式转换模式配置映射:

注意

基础模式和转换模式不支持互相切换,模式切换后,将清空现有字段映射中所有配置信息,一旦切换无法撤销,需谨慎操作。

  • 转换模式:
    字段映射支持数据转换,您可根据实际业务需求进行配置,将源端采集的数据,事先通过数据转换后,以指定格式输入到目标端数据库中。
    转换模式详细操作说明详见4.1 转换模式
    在转换模式中,你可依次配置:来源节点、数据转换、目标节点信息:

    配置节点

    说明

    来源节点

    配置数据来源 Source 节点信息:

    • 节点名称:自定义输入来源节点名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
    • 数据字段:通过自动添加、手动添加等方式添加数据来源字段信息。

    配置完成后,单击确认按钮,完成来源节点配置。

    数据转换

    单击数据转换右侧添加按钮,选择 SQL 转换方式,配置转换信息和规则:

    • 节点名称:自定义输入来源节点名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
    • SQL 脚本:输入 SQL 脚本转换规则,目前仅支持添加一个转换的 SQL 语句,且不能包括 “;”。

    配置完成后,单击确认按钮,完成数据转换节点配置。SQL 脚本示例详见4.1.2 添加转换节点

    目标节点

    配置目标节点 Sink 信息:

    • 节点名称:自定义输入来源节点名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
    • 数据字段:通过自动添加、手动添加等方式添加数据目标字段信息。

    配置完成后,单击确认按钮,完成目标节点配置。

  • 基础模式:

    您可通过以下三种方式操作字段映射关系:

    • 自动添加:单击自动添加按钮,根据两端数据表信息,可以自动填充来源和目标的字段信息。
    • 手动添加:单击手动添加按钮,可以手动编辑来源和目标的字段信息,可以逐个添加。
    • 移动\删除字段:您也可以根据需要移动字段映射顺序或删除字段。

4 高级参数说明

对于可视化通道任务,高级参数可在任务开发界面:任务运行参数 > 自定义参数设置中填写,读参数需要加上 job.reader. ,写参数需要加上job.writer.前缀,如图所示:
图片

4.1 流式写入 Iceberg 高级参数

参数

默认值

含义

job.writer.primary_key

写入方式选择为 upsert 时,需配置同步主键信息,参数值格式参考如:["unique_key","app_id","event_date","hash_uid"]

job.writer.writer_parallelism_num

设置写入并行度,可根据独享集成资源组规格实际情况进行配置,无默认值。