You need to enable JavaScript to run this app.
导航
配置 Iceberg 数据源
最近更新时间:2024.10.28 11:29:58首次发布时间: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 支持的字段类型

写入 Iceberg 支持的字段类型如下:

类型

描述

备注

boolean

True or false

int

32-bit signed integers

Can promote to long

long

64-bit signed integers

float

32-bit IEEE 754 floating point

Can promote to double

double

64-bit IEEE 754 floating point

decimal(P,S)

Fixed-point decimal; precision P, scale S

Scale is fixed and precision must be 38 or less

date

Calendar date without timezone or time

time

Time of day without date, timezone

Stored as microseconds

timestamp

Timestamp without timezone

Stored as microseconds

string

Arbitrary-length character sequences

Encoded with UTF-8

binary

Arbitrary-length byte array

list<E>

A list with elements of any data type

map<K, V>

A map with keys and values of any data type

4 数据同步任务开发

4.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 的配置信息。

4.2 新建离线任务

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

4.3 可视化配置说明

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

4.3.1 Iceberg 批式写

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

参数

说明

*目标类型

下拉选择 Iceberg 数据源类型。

*数据源名称

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

*数据表

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

*写入方式

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

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

*唯一键

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

4.3.2 Iceberg 流式写

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

参数

说明

*目标类型

下拉选择 Iceberg 数据源类型。

*数据源名称

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

*数据表

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

*写入方式

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

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

4.4.3 字段映射

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

注意

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

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

    配置节点

    说明

    来源节点

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

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

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

    数据转换

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

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

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

    目标节点

    配置目标节点 Sink 信息:

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

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

  • 基础模式:

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

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

5 高级参数说明

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

5.1 流式写入 Iceberg 高级参数

参数

默认值

含义

job.writer.primary_key

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

job.writer.writer_parallelism_num

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