DataX/doriswriter/doc/doriswriter.md
jiafeng.zhang 0efbc5df08 fix
2022-10-09 19:41:07 +08:00

4.5 KiB
Raw Blame History

DorisWriter 插件文档

1 快速介绍

DorisWriter支持将大批量数据写入Doris中。

2 实现原理

DorisWriter 通过Doris原生支持Stream load方式导入数据 DorisWriter会将reader读取的数据进行缓存在内存中拼接成Json文本然后批量导入至Doris。

3 功能说明

3.1 配置样例

这里是一份从Stream读取数据后导入至Doris的配置文件。

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "column": ["k1", "k2", "k3"],
                        "connection": [
                            {
                                "jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/db1"],
                                "table": ["t1"]
                            }
                        ],
                        "username": "root",
                        "password": "",
                        "where": ""
                    }
                },
                "writer": {
                    "name": "doriswriter",
                    "parameter": {
                        "loadUrl": ["127.0.0.1:8030"],
                        "loadProps": {},
                        "database": "db1",
                        "column": ["k1", "k2", "k3"],
                        "username": "root",
                        "password": "",
                        "postSql": [],
                        "preSql": [],
                        "connection": [
                            "jdbcUrl":"jdbc:mysql://127.0.0.1:9030/demo",
                            "table":["xxx"],
                            "selectedDatabase":"xxxx"
                        ]
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

3.2 参数说明

  • jdbcUrl

    • 描述Doris 的 JDBC 连接串,用户执行 preSql 或 postSQL。
    • 必选:是
    • 默认值:无
  • loadUrl

    • 描述:和 beLoadUrl 二选一。作为 Stream Load 的连接目标。格式为 "ip:port"。其中 IP 是 FE 节点 IPport 是 FE 节点的 http_port。可以填写多个doriswriter 将以轮询的方式访问。
    • 必选:是
    • 默认值:无
  • username

    • 描述访问Doris数据库的用户名
    • 必选:是
    • 默认值:无
  • password

    • 描述访问Doris数据库的密码
    • 必选:否
    • 默认值:空
  • database

    • 描述需要写入的Doris数据库名称。
    • 必选:是
    • 默认值:无
  • table

    • 描述需要写入的Doris表名称。
    • 必选:是
    • 默认值:无
  • column

    • 描述:目的表需要写入数据的字段,这些字段将作为生成的 Json 数据的字段名。字段之间用英文逗号分隔。例如: "column": ["id","name","age"]。
    • 必选:是
    • 默认值:否
  • preSql

    • 描述:写入数据到目的表前,会先执行这里的标准语句。
    • 必选:否
    • 默认值:无
  • postSql

    • 描述:写入数据到目的表后,会执行这里的标准语句。
    • 必选:否
    • 默认值:无
  • maxBatchRows

    • 描述:每批次导入数据的最大行数。和 maxBatchSize 共同控制每批次的导入数量。每批次数据达到两个阈值之一,即开始导入这一批次的数据。
    • 必选:否
    • 默认值500000
  • maxBatchSize

    • 描述:每批次导入数据的最大数据量。和 maxBatchRows 共同控制每批次的导入数量。每批次数据达到两个阈值之一,即开始导入这一批次的数据。
    • 必选:否
    • 默认值104857600
  • maxRetries

    • 描述:每批次导入数据失败后的重试次数。
    • 必选:否
    • 默认值0
  • labelPrefix

    • 描述:每批次导入任务的 label 前缀。最终的 label 将有 labelPrefix + UUID + 序号 组成
    • 必选:否
    • 默认值:datax_doris_writer_
  • format

    • 描述StreamLoad数据的组装格式支持csv和json格式。csv默认的行分隔符是\x01,列分隔符是\x02。
    • 必选:否
    • 默认值csv
  • loadProps

    • 描述StreamLoad 的请求参数详情参照StreamLoad介绍页面。
    • 必选:否
    • 默认值:无
  • connectTimeout

    • 描述StreamLoad单次请求的超时时间, 单位毫秒(ms)。
    • 必选:否
    • 默认值:-1