详情页标题前

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

详情页1

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

使用限制

  • 目前Gbase8a Reader和Gbase8a Writer仅支持使用新增和使用独享数据集成资源组。

  • insert into...:当主键或唯一性索引冲突时,无法写入冲突的行。

  • 目的所在数据库必须是主库才能写入数据。

    说明

    整个任务需要至少具备insert into...的权限。是否需要其它权限,取决于您配置任务时,在preSql和postSql中指定的语句。

  • Gbase8a Writer不支持配置writeMode参数。

数据同步任务开发

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

创建数据源

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

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

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

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

附录:脚本Demo与参数说明

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

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

Reader脚本Demo

{
    "type": "job",
    "steps": [
        {
            "stepType": "gbase8a", //插件名。
            "parameter": {
                "datasource": "", //数据源名。
                "username": "",
                "password": "",
                "where": "",
                "column": [ //字段。
                    "id",
                    "name"
                ],
                "splitPk": "id",
                "connection": [
                    {
                        "table": [ //表名。
                            "table"
                        ],
                        "datasource":""
                    }
                ]
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {
                "print": false,
                "fieldDelimiter": ","
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "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。
        }
    }
}

Reader脚本参数

参数

描述

是否必选

默认值

datasource

如果您使用的DataWorks版本支持添加Gbase8a数据源,即可在此处根据数据源名称引用您添加的Gbase8a数据源。

table

选取的需要同步的表。使用JSON的数组进行描述,支持同时读取多张表。

当配置为多张表时,您需要保证多张表的schema结构一致,Gbase8a Reader不检查表的逻辑是否统一。

说明

table必须包含在connection配置单元中。

column

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

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

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

  • 支持常量配置:例如,'123'

  • 支持函数列:例如,date('now')

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

splitPk

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

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

  • 目前splitPk仅支持整型数据切分,不支持字符串、浮点和日期等其它类型 。如果您指定其它非支持类型,则忽略splitPk功能,使用单通道进行同步。

  • 如果设置splitPk值为空,底层将视作您不允许对单表进行切分,因此使用单通道进行抽取。

where

筛选条件,Gbase8a Reader根据指定的column、table、where条件拼接SQL,并根据该SQL进行数据抽取。

例如,在进行测试时,可以指定where条件为limit 10。在实际业务场景中,通常会选择当天的数据进行同步,指定where条件为gmt_create>$bizdate

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

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

querySql

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

当您配置querySql时,Gbase8a Reader直接忽略table、column、where和splitPk条件的配置。

fetchSize

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

说明

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

1,024

Writer脚本Demo

{
    "type":"job",
    "version":"2.0",//版本号。
    "steps":[
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"gbase8a",//插件名。
            "parameter":{
                "datasource": "数据源名",
                "username": "",
                "password": "",
                "column": [//字段。
                    "id",
                    "name"
                ],
                "connection": [
                    {
                        "table": [//表名。
                            "Gbase8a_table"
                        ],
                        "datasource":""
                    }
                ],
                "preSql": [ //执行数据同步任务之前率先执行的SQL语句。
                    "delete from @table where db_id = -1"
                ],
                "postSql": [//执行数据同步任务之后率先执行的SQL语句。
                    "update @table set db_modify_time = now() where db_id = 1"
                ]
            },
            "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

需要同步写出的表名称,使用JSON的数组进行描述。

说明

table必须包含在connection配置单元中。

column

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

说明

column配置项必须指定,不能为空。

preSql

写入数据至目标表前,会先执行此处的标准语句。如果SQL中有需要操作的表名称,请使用@table表示,以便在实际执行SQL语句时,对变量按照实际表名称进行替换。

postSql

写入数据至目标表后,会执行此处的标准语句。

batchSize

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

1,024

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

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

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

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

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

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

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

相关推荐

  • 阿里云日志服务SLS目标Logstore输出错误-云淘科技

    本文档为您介绍数据加工服务进行数据加工后,将加工结果写入目标Logstore产生错误的原因以及排查处理方法。 日志事件被加工完之后,会被输出到预先配置好的目标Logstore中。LOG DSL引擎每次读取一个批次的源日志(从1条到近万条不等),数据加工后,并不是加工一条日志就输出一条,而是会先将加工好的数据存放在一个缓存池中,等源数据批次处理完,再一起输出。…

    2023年12月10日
  • 阿里云日志服务SLS直方图-云淘科技

    本文介绍直方图的相关配置。 简介 直方图用于展示一组数据的频数分布,有助于您了解数据的分布情况。日志服务直方图包括时序模式和非时序模式。如果X轴是时间,建议开启时序模式。在时序模式下,日志服务会自动格式化时间,并展示数据在时间维度上的分布情况。关于时序模式的更多信息,请参见时序模式。 与柱状图相比,直方图更具有统计学意义。直方图和柱状图的主要区别如下: 直方…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云云原生大数据计算服务 MaxComputeSET-云淘科技

    对当前Session设置MaxCompute系统变量。 命令格式 set = 参数说明 KEY:属性名称。 VALUE:属性值。 Session级的常用属性如下。 属性名称 属性描述 取值范围 console.sql.result.instancetunnel InstanceTunnel开关。详情请参见使用说明。 True:打开 False:关闭 odps…

  • 阿里云容器服务ACK产品优势-云淘科技

    本文介绍容器服务ACK的优势以及自建Kubernetes的劣势。 ACK的优势 优势 说明 强大的集群管理 三种集群形态:ACK专有集群、ACK托管集群、ACK Serverless集群。 ACK托管集群的管控节点默认为3个可用区的高可用部署。 单集群支持千量级ECS节点。详细配额,请参见配额限制。 支持跨可用区集群以及注册外部集群。关于注册集群的介绍,请参…

    阿里云容器服务 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS日志(Log)-云淘科技

    日志(Log)是系统运行过程中变化的一种抽象数据,其内容为指定对象的操作和其操作结果按时间的有序集合。 格式 文本日志(LogFile)、事件(Event)、数据库日志(BinLog)、时序数据(Metric)等数据都是日志的不同载体。日志服务采用半结构化的数据模式定义一条日志,包含日志主题、日志时间、日志内容、日志来源和日志标签五个数据域。日志服务对各个数…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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