详情页标题前

阿里云大数据开发治理平台 DataWorksSAP HANA数据源-云淘科技

详情页1

SAP HANA数据源为您提供读取和写入SAP HANA双向通道的功能,本文为您介绍DataWorks的SAP HANA数据同步的能力支持情况。

使用限制

  • 离线同步支持读取视图

  • 目前该数据源仅支持独享数据集成资源组。

支持的字段

SAP HANA Reader针对SAP HANA类型的转换列表,如下所示。

类型分类

数据源的数据类型

整数类

INT、TINYINT、SMALLINT、MEDIUMINT和BIGINT

浮点类

FLOAT、DOUBLE和DECIMAL

字符串类

VARCHAR、CHAR、TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT

日期时间类

DATE、DATETIME、TIMESTAMP、TIME和YEAR

布尔型

BIT和BOOL

二进制类

TINYBLOB、MEDIUMBLOB、BLOB、LONGBLOB和VARBINARY

重要

  • 除上述罗列字段类型外,其它类型均不支持。

  • SAP HANA Reader插件将tinyint(1)视作整型。

数据同步任务开发

数据同步任务的配置入口和通用配置流程指导可参见下文的配置指导,详细的配置参数解释可在配置界面查看对应参数的文案提示。

创建数据源

在进行数据同步任务开发时,您需要在DataWorks上创建一个对应的数据源,操作流程请参见创建与管理数据源。

单表离线同步任务配置指导

  • 操作流程请参见通过向导模式配置离线同步任务、通过脚本模式配置离线同步任务。

  • 脚本模式配置的全量参数和脚本Demo请参见下文的附录:脚本Demo与参数说明。

附录:脚本Demo与参数说明

附录:离线任务脚本配置方式

如果您配置离线任务时使用脚本模式的方式进行配置,您需要在任务脚本中按照脚本的统一格式要求编写脚本中的reader参数,脚本模式的统一要求请参见通过脚本模式配置离线同步任务,以下为您介绍脚本模式下的数据源的Reader参数的指导详情。

Reader脚本Demo

  • 配置单库单表

    {
        "type":"job",
        "version":"2.0",//版本号。
        "steps":[
            {
                "stepType":"saphana",//插件名。
                "parameter":{
                    "column":[//列名。
                        "id"
                    ],
                    "connection":[
                        {   "querySql":["select a,b from join1 c join join2 d on c.id = d.id;"], //使用字符串的形式,将querySql写在connection中。
                            "datasource":"",//数据源。
                            "table":[//表名,即使只有一张表,也必须以[]的数组形式书写。
                                "xxx"
                            ]
                        }
                    ],
                    "where":"",//过滤条件。
                    "splitPk":"",//切分键。
                    "encoding":"UTF-8"//编码格式。
                },
                "name":"Reader",
                "category":"reader"
            },
            {
                "stepType":"stream",
                "parameter":{},
                "name":"Writer",
                "category":"writer"
            }
        ],
        "setting":{
            "errorLimit":{
                "record":"0"//错误记录数。
            },
            "speed":{
                "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
                "concurrent":1, //作业并发数。
                "mbps":"12"//限流,此处1mbps = 1MB/s。
            }
        },
        "order":{
            "hops":[
                {
                    "from":"Reader",
                    "to":"Writer"
                }
            ]
        }
    }
  • 配置分库分表

    说明

    分库分表是指在SAP HANA Reader端可以选择多个SAP HANA数据表,且表结构保持一致。

    {
        "type": "job",
        "version": "1.0",
        "configuration": {
            "reader": {
                "plugin": "saphana",
                "parameter": {
                    "connection": [
                        {
                            "table": [
                                "tbl1",
                                "tbl2",
                                "tbl3"
                            ],
                            "datasource": "datasourceName1"
                        },
                        {
                            "table": [
                                "tbl4",
                                "tbl5",
                                "tbl6"
                            ],
                            "datasource": "datasourceName2"
                        }
                    ],
                    "singleOrMulti": "multi",
                    "splitPk": "db_id",
                    "column": [
                        "id", "name", "age"
                    ],
                    "where": "1 < id and id < 100"
                }
            },
            "writer": {            
            }
        }
    }

Reader脚本参数

参数

描述

username

用户名。

password

密码。

column

需要同步的字段名称。如果需要同步所有列,请使用星号(*)。

说明

当SAP HANA Reader中字段名称包含斜杠(/),需要使用反斜杠加双引号(\”your_column_name\”)进行转义,例如,字段名称为/abc/efg,则转义后字段名称为\”/abc/efg\”。

table

需要同步的表名。

jdbcUrl

连接HANA的JDBC URL。例如,jdbc:sap://127.0.0.1:30215?currentschema=TEST。

splitPk

HANA表中的某个字段作为同步的切分字段,切分字段有助于多并发同步HANA表。

切分字段需要是数值整型的字段,如果没有该类型,则可以不填。

Writer脚本Demo

脚本配置示例如下所示。

{
    "type":"job",
    "version":"2.0",//版本号。
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"saphana",//插件名。
            "parameter":{
                "postSql":[],//导入后的准备语句。
                "datasource":"",//数据源。
                "column":[//列名。
                    "id",
                    "value"
                ],
                "batchSize":1024,//一次性批量提交的记录数大小。
                "table":"",//表名。
                "preSql":[
                     "delete from XXX;" //导入前的准备语句。
                   ]
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{//错误记录数。
            "record":"0"
        },
        "speed":{
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":1, //作业并发数。
            "mbps":"12"//限流,此处1mbps = 1MB/s。
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Writer脚本参数

参数

描述

是否必选

默认值

datasource

数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须与添加的数据源名称保持一致。

table

选取的需要同步的表名称。

column

目标表需要写入数据的字段,字段之间用英文所逗号分隔,例如"column": ["id", "name", "age"]

如果要依次写入全部列,使用星号(*)表示, 例如"column":["*"]

说明

当来源端字段名称包含斜杠(/),需要使用反斜杠加双引号(\”your_column_name\”)进行转义,例如,字段名称为/abc/efg,则转义后字段名称为\”/abc/efg\”。

preSql

执行数据同步任务之前率先执行的SQL语句。目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句。例如,执行前清空表中的旧数据:

truncate table tablename

说明

当有多条SQL语句时,不支持SQL事务原子性。

postSql

执行数据同步任务之后执行的SQL语句,目前向导模式仅允许执行一条SQL语句,脚本模式可以支持多条SQL语句。例如,加上某一个时间戳:alter table tablenameadd colname timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

batchSize

一次性批量提交的记录数大小,该值可以极大减少数据同步系统与数据源的网络交互次数,并提升整体吞吐量。如果该值设置过大,会导致数据同步运行进程OOM异常。

1024

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/171621.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorksSearchMetaTables-云淘科技

    调用SearchMetaTables根据条件搜索表。 仅支持搜索MaxCompute和EMR两种类型的引擎表。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 Searc…

  • 阿里云日志服务SLS配置通用数据库审计-云淘科技

    您可以在数据库服务器或应用服务器上安装Logtail和抓包工具,采集数据库的所有活动记录,实现数据库审计。本文介绍配置通用数据库审计的操作步骤。 前提条件 已有可用的数据库。 已创建Project。具体操作,请参见创建Project。 操作步骤 登录日志服务控制台。 在日志应用区域的审计与安全页签中,单击通用数据库审计。 在接入配置管理页面中,单击添加。 在…

    2023年12月10日
  • 阿里云容器服务ACK获取集群KubeConfig接口-云淘科技

    调用DescribeClusterUserKubeconfig返回包含当前登录用户身份信息的Kubernetes集群访问KubeConfig。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 请求语法 GET /k8s/ClusterId/user…

    阿里云容器服务 2023年12月10日
  • 阿里云RDS数据库使用pg_restore恢复逻辑备份文件数据-云淘科技

    本文介绍如何使用pg_restore命令将逻辑备份文件(.dump文件)中的数据恢复到RDS PostgreSQL实例或本地PostgreSQL数据库中。 说明 对于少量的数据,您可参考本文使用逻辑备份进行快速恢复,例如恢复某个表的数据。对于大量的数据,建议您使用全量物理备份来恢复数据到新的实例中,然后通过数据传输服务DTS将数据迁移回原有实例。 更多数据恢…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库RDS SQL Server空间不足问题-云淘科技

    RDS SQL Server实例的空间使用率是日常需要重点关注的监控项之一,实例的存储空间不足,会导致严重后果,例如数据库无法写入、数据库无法备份、存储空间扩容任务耗时过长等。本文介绍如何查看空间使用情况以及排查空间问题。 查看空间使用情况 您可以在实例的基本信息页面查看存储空间使用情况,但是这里只展示当前的空间使用总量,没有展示各类数据分别占用的磁盘空间信…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。