详情页标题前

阿里云大数据开发治理平台 DataWorksDM(达梦)数据源-云淘科技

详情页1

DM(达梦)数据源作为数据中枢,为您提供读取和写入DM数据库的双向通道,能够快速解决海量数据的计算问题。本文为您介绍DataWorks的DM数据同步的能力支持情况。

使用限制

  • 离线同步支持读取视图表。

  • DM Reader和DM Writer仅支持使用独享数据集成资源组。

支持的字段类型

DM Reader和DM Writer支持大部分通用的关系数据库数据类型,例如数字、字符等。但也存在部分类型没有支持的情况,请注意检查您的数据类型,根据具体的数据库进行选择。

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

类型分类

DM数据类型

整数类

INT、TINYINT、SMALLINT和BIGINT

浮点类

REAL、FLOAT、DOUBLE、NUMBER和DECIMAL

字符串类

CHAR、VARCHAR、LONGVARCHAR和TEXT

日期时间类

DATE、DATETIME、TIMESTAMP和TIME

布尔型

BIT

二进制类

BINARY、VARBINARY和BLOB

数据同步任务开发

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

创建数据源

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

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

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

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

整库离线读同步配置指导

操作流程请参见数据集成侧同步任务配置。

附录:脚本Demo与参数说明

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

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

Reader脚本Demo

{
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  },
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
                  "concurrent":1 //作业并发数。
                   "mbps":"12"//限流,此处1mbps = 1MB/s。

    }
  },
  "steps": [
    {
            "category": "reader",
            "name": "Reader",
            "parameter": {
                "datasource": "dm_datasource",
                "table": "table",
                "column": [
                    "*"
                ],
                "preSql": [
                    "delete from XXX;"
                ],
                "fetchSize": 2048
            },
            "stepType": "dm"
        },
    {
      "category": "writer",
      "name": "Writer",
      "parameter": {},
      "stepType": "stream"
    }
  ],
  "type": "job",
  "version": "2.0"
}

Reader脚本参数

参数

描述

是否必选

默认值

datasource

输入DM数据源名称,配置数据源详情请参见配置DM数据源。

table

所选取的需要同步的表。

column

所配置的表中需要同步的列名集合,使用JSON的数组描述字段信息,默认使用所有列配置,例如[ * ]:

  • 支持列裁剪,即列可以挑选部分列进行导出。

  • 支持列换序,即列可以不按照表schema信息顺序进行导出。

  • 支持常量配置,您需要按照JSON格式["id","1", "'bazhen.csy'", "null", "to_char(a + 1)", "2.3" , "true"]

    • id为普通列名。

    • 1为整型数字常量。

    • ‘bazhen.csy’为字符串常量。

    • null为空指针。

    • to_char(a + 1)为函数表达式。

    • 2.3为浮点数。

    • true为布尔值。

  • column必须显示您指定同步的列集合,不允许为空 。

splitPk

DM Reader进行数据抽取时,如果指定splitPk,表示您希望使用splitPk代表的字段进行数据分片。数据同步系统会启动并发任务进行数据同步,以提高数据同步的效能:

  • 推荐splitPk用户使用表主键,因为表主键通常情况下比较均匀,切分出来的分片也不容易出现数据热点。

  • 目前splitPk仅支持整型数据切分,不支持浮点、字符串和日期等其他类型。如果您指定其他非支持类型,DM Reader将报错。

  • 如果不填写splitPk,将视作您不对单表进行切分,DM Reader使用单通道同步全量数据。

where

筛选条件,DM Reader根据指定的column、table和where条件拼接SQL,并根据该SQL进行数据抽取。例如在做测试时,可以将where条件指定为limit 10。

在实际业务场景中,通常会选择当天的数据进行同步,可以将where条件指定为gmt_create>$bizdate

  • where条件可以有效地进行业务增量同步。

  • where条件不配置或为空时,则视作全表同步数据。

querySql

在部分业务场景中,where配置项不足以描述所筛选的条件,您可以通过该配置型来自定义筛选SQL。当您配置该项后,数据同步系统会忽略column、table等配置,直接使用该配置项的内容对数据进行筛选。

例如,需要进行多表join后同步数据,使用select a,b from table_a join table_b on table_a.id = table_b.id 。当您配置querySql时,DM Reader直接忽略column、table和where条件的配置。

fetchSize

该配置项定义了插件和数据库服务器端每次批量数据获取条数,该值决定了数据同步系统和服务器端的网络交互次数,能够提升数据抽取性能。

说明

fetchSize值过大(>2048)可能造成数据同步进程OOM。

1,024

Writer脚本Demo

{
  "type": "job",
  "steps": [
    {
      "stepType": "oracle",
      "parameter": {
        "datasource": "aaa",
        "column": [
          "PROD_ID",
         "name"
        ],
        "where": "",
        "splitPk": "",
        "encoding": "UTF-8",
        "table": "PENGXI.SALES"
      },
      "name": "Reader",
      "category": "reader"
    },
    {
            "stepType": "dm",
            "parameter": {
                "datasource": "dm_datasource",
                "table": "table",
                "column": [
                   "id",
                  "name"
                ],
                "preSql": [
                    "delete from XXX;"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
  ],
  "version": "2.0",
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  },
  "setting": {
    "errorLimit": {
      "record": ""
    },
    "speed": {
            "throttle":true,//当throttle值为false时,mbps参数不生效,表示不限流;当throttle值为true时,表示限流。
            "concurrent":2, //作业并发数。
            "mbps":"12"//限流,此处1mbps = 1MB/s。
    }
  }
}
                

Writer脚本参数

参数

描述

是否必选

默认值

datasource

输入DM数据源名称,配置数据源详情请参见配置DM数据源。

table

目标表名称,如果表的Schema信息和上述配置username不一致,请使用schema.table的格式填写table信息。

column

所配置的表中需要同步的列名集合。以英文逗号(,)进行分隔。

说明

建议您不要使用默认列情况。

preSql

执行数据同步任务之前率先执行的SQL语句,目前只允许执行一条SQL语句,例如清除旧数据。

说明

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

postSql

执行数据同步任务之后执行的SQL语句,目前只允许执行一条SQL语句,例如加上某一个时间戳。

说明

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

batchSize

一次性批量提交的记录数大小,该值可以极大减少数据集成与DM(达梦)的网络交互次数,并提升整体吞吐量。但是该值设置过大可能会造成数据集成运行进程OOM情况。

1024

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

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

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

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

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

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

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

相关推荐

  • 阿里云ECS云服务器接收抢占式实例中断事件-云淘科技

    阿里云云监控提供强大的资源监控功能,您可以通过云监控实时监控抢占式实例的中断事件,并在发生事件报警时通过您指定的报警方式接收到抢占式实例中断事件。 背景信息 抢占式实例具有被中断的风险,实例在完全中断的前5分钟会触发中断事件。如果您的业务对实例中断敏感,则需要注意及时接收抢占式实例的中断事件,并对实例进行处理。本文主要提供了基于消息服务MNS或函数计算接收中…

    2023年12月9日
  • 阿里云负载均衡健康检查FAQ-云淘科技

    文本介绍传统型负载均衡CLB(Classic Load Balancer)健康检查相关的常见问题。 健康检查的原理是什么? 推荐的健康检查配置是什么? 是否可以关闭健康检查? TCP监听如何选择健康检查方式? ECS实例权重设置为零对健康检查有什么影响? HTTP监听向后端ECS实例执行健康检查使用的方法是什么? HTTP监听向后端ECS实例执行健康检查的I…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云大数据开发治理平台 DataWorksListFileVersions-云淘科技

    调用ListFileVersions查询文件的版本列表。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 ListFileVersions 要执行的操作。 FileId …

  • 阿里云日志服务SLS通过JDBC协议分析日志-云淘科技

    日志服务支持您在数据库(例如MySQL)中使用JDBC协议连接日志服务,并通过标准的SQL92语法查询和分析日志。 前提条件 已创建阿里云账号或RAM用户的AccessKey。具体操作,请参见访问密钥。 如果使用RAM用户的AccessKey,则RAM用户必须是当前Project所属阿里云账号的RAM用户,且具备Project级别的读权限。如何授权,请参见配…

    2023年12月10日
  • 阿里云RDS数据库功能概览-云淘科技

    本文介绍RDS PostgreSQL各版本支持的功能,便于您根据自身需要选购实例或查询已购实例的功能。 在售版本功能概览 功能 PostgreSQL 16 PostgreSQL 15、14 PostgreSQL 13 PostgreSQL 12、11 高可用系列 基础系列 高可用系列 基础系列 高可用系列 基础系列 高可用系列 基础系列 包年包月/按量付费 …

    阿里云数据库 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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