SAP HANA 数据源为您提供读取 SAP HANA 数据的数据集成通道能力,实现将读取出来的数据,写入到不同的目标数据源中。
本文为您介绍 DataSail 的 SAP HANA 数据同步的能力支持情况。
SAP HANA 离线读字段数据类型支持情况如下:
类型分类 | 数据类型 | 备注 |
---|---|---|
整数类型 | INT、TINYINT、SMALLINT、MEDIUMINT 和 BIGINT | |
字符串类型 | STRING、VARCHAR、NVARCHAR、SHORTTEXT、ALPHANUM | |
浮点类型 | FLOAT、DOUBLE、DECIMAL、AMALLDECIMAL | |
布尔类型 | BOOLEAN | BOOLEAN 别名 BOOL |
日期时间类型 | DATE、TIMESTAMP、TIME、SECONDDATE | unixtime_micros 别名 DATETIME |
二进制类型 | BINTEXT、VARBINARY、NCLOB、CLOB、BLOB、TEXT | |
数组类型 | multi value | 仅支持元素为 string |
其他 | st_point、st_geometry | 会转为 string 处理 |
新建数据源操作详见配置数据源,下面为您介绍用连接串方式配置 Hana 数据源信息:
参数 | 说明 |
---|---|
基本配置 | |
数据源类型 | Hana |
接入方式 | 连接串 |
数据源名称 | 数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100个字符以内。 |
参数配置 | |
主机名或 IP 地址 | 连接 Hana 数据库的主机名称或者 IP 地址。 |
端口 | 连接主机的端口号。 |
数据库名 | 输入已创建的 Hana 数据库名称。 |
用户名 | 有权限访问数据库的用户名信息。 |
密码 | 输入用户名对应的密码信息。 |
Hana 数据源测试连通性成功后,进入到数据开发界面,开始新建 Hana 相关通道任务。
新建任务方式详见离线数据同步。
任务创建成功后,您可根据实际场景,配置 Hana 离线读通道任务。
数据来源选择 Hana,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
*数据源类型 | 下拉选择 Hana 数据源类型。 |
*数据源名称 | 已在数据源管理中注册成功的 Hana 数据源,下拉可选。 |
*Schema 目录 | 数据库下已有的 Schema 目录信息,下拉可选。 说明 如果需要同步计算视图、属性视图等特殊视图时,则需要选择 _SYS_BIC。 |
*数据表 | 选择需要采集的数据表、视图或 Hana 特殊的计算视图、属性视图等名称信息。 |
切分建 | 根据配置的字段进行数据分片:
说明 目前仅支持类型为整型或字符串的字段作为切分建。 |
数据目标端选择 Hana,并完成以下相关参数配置:
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
参数 | 说明 |
---|---|
*目标类型 | 数据去向目标类型选择 Hana。 |
*数据源名称 | 已在数据源管理界面注册的 Hana 数据源,下拉可选。 |
*Schema 目录 | 数据库下已有的 Schema 目录信息,下拉可选。 |
*数据表 | 数据源下所属需数据写入的表名,下拉可选。 |
写入前准备语句 | 在执行该数据集成任务前,需要率先执行的 SQL 语句,通常是为了使任务重跑时支持幂等。 说明 可视化通道任务配置中只允许执行一条写入前准备语句。 |
写入后准备语句 | 执行数据同步任务之后执行的 SQL 语句。例如写入完成后插入某条特殊的数据,标志导入任务执行结束。 说明 可视化通道任务配置中只允许执行一条写入后准备语句。 |
*数据写入方式 | 下拉选择数据写入 Hana 的方式:
|
数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
字段映射支持选择基础模式和转换模式配置映射:
说明
基础模式和转换模式不支持互相切换,模式切换后,将清空现有字段映射中所有配置信息,一旦切换无法撤销,需谨慎操作。
转换模式:
字段映射支持数据转换,您可根据实际业务需求进行配置,将源端采集的数据,事先通过数据转换后,以指定格式输入到目标端数据库中。
转换模式详细操作说明详见4.1 转换模式
在转换模式中,你可依次配置:来源节点、数据转换、目标节点信息:
配置节点 | 说明 |
---|---|
来源节点 | 配置数据来源 Source 节点信息:
配置完成后,单击确认按钮,完成来源节点配置。 |
数据转换 | 单击数据转换右侧添加按钮,选择 SQL 转换方式,配置转换信息和规则:
配置完成后,单击确认按钮,完成数据转换节点配置。SQL 脚本示例详见4.1.2 添加转换节点。 |
目标节点 | 配置目标节点 Sink 信息:
配置完成后,单击确认按钮,完成目标节点配置。 |
基础模式:
您可通过以下三种方式操作字段映射关系:
Hana 数据源支持使用脚本模式(DSL)的方式进行配置。
在某些复杂场景下,或当数据源类型暂不支持可视化配置时,您可通过任务脚本的方式,按照统一的 Json 格式,编写 Hana Reader 参数脚本代码,来运行数据集成任务。
进入 DSL 模式操作流程,可详见 MySQL 数据源-4.4.1 进入DSL 模式。
进入 DSL 模式编辑界面后,您可根据实际情况替换相应参数,Hana Reader 脚本示例如下:
{ "job": { "common": { ... }, "reader": { "type": "hana", "datasource_id": null, "class": "com.bytedance.dts.batch.jdbc.SapHanaInputFormat", "connections": [ { "slaves": [ { "host": "xxx.xxx.xx.xxx", "db_url": "jdbc:sap://xxx.xxx.xx.xxx:39017/SystemDB", "port": 39017 } ], "shardNumber": 0 } ], "user_name": "***", "password": "***", "db_name":"_SYS_BIC", "table_schema" : "_SYS_BIC", "table_name": "VIEW_TEST/SQL_TEST_SCORE_VIEW1", "hana_view_placeholder": "PLACEHOLDER.\"$$IN_CALMONTH$$\" => '202305'", "filter": "STUDENTID > 5", "columns" :[ { "name":"STUDENTID", "type":"integer" }, { "name":"SCORE", "type":"integer" } ] }, "writer": { ... } } }
Reader 参数说明,其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数:
参数名称 | 参数含义 |
---|---|
*type | 数据源类型,输入 Hana 类型的 Reader type,默认固定值填写:hana |
*datasource_id | 填写注册的 Hana 数据源ID,可以在项目控制台 > 数据源管理界面中查找。
|
*class | hana reader connector type,默认固定值填写:com.bytedance.dts.batch.jdbc.SapHanaInputFormat |
*connections | jdbc 类型数据源通用配置:
|
*user_name | 有权限访问数据库的用户名信息。 |
*password | 用户名对应的密码信息。 |
*columns | 所配置的表中,需要同步的列名集合,使用 JSON 的数组描述字段信息。 |
*db_name | 填写需读取的数据库名称。 |
*table_schema | 填写需读取的 Hana 数据库中 Schema 名称。 |
*table_name | 输入需同步的数据表或者视图名字信息。 |
hana_view_placeholder | 采集带参数的计算视图时使用。 |
filter | 同步数据的过滤条件,同步数据时只会同步符合过滤条件的数据。 |
目前暂不支持 DSL 模式配置离线数据写入 Hana,敬请期待。
对于可视化配置通道任务,配置运行高级参数时,需在参数名称前加上 job.reader.
前缀。
如离线方式读取 Hana 数据,如果同步带参数的计算视图,且需要过滤数据读取时,则您可以使用以下高级参数:job.reader.filter
、job.reader.hana_view_placeholder
如下图所示: