本文介绍使用DataWorks平台的数据集成工具将数据导入到ClickHouse。

背景信息

数据集成工具支持使用脚本模式向导模式两种方式配置数据导入任务。脚本模式使用XML脚本配置导入导出逻辑;向导模式使用可视化界面配置导入导出逻辑。目前云数据库ClickHouse还不支持向导模式。导入操作步骤如下: %;

1. 新建数据源

使用dataworks将数据从源库同步到目标库,通常需要新建源库和目标库的数据源连接,由于云数据库ClickHouse目前仅仅支持脚本配置模式,因此只需要配置源库的数据源连接,目标库ClickHouse不需要配置数据源连接。配置方法如下:

  1. 进入数据集成空间。
  2. 新建源库数据源连接。配置操作请参考新增数据源
说明 仅仅需要配置源库的数据源连接,ClickHouse无需配置数据源。

2.新建同步任务

进入DataWorks数据集成空间,新建数据同步任务。

如下图所示:新建数据同步任务1新建数据同步任务3
说明 由于云数据库ClickHouse只支持脚本模式,通过XML文件配置数据同步逻辑,点前上述图片中的“点击转换为脚本”链接,切换到脚本模式。
新建同步任务4

3.同步参数配置

数据同步逻辑配置在XML文件中,reader插件表示数据源,各个reader插件配置,请参考reader插件参数

将数据导入ClickHouse,writer部分同步任务的脚本配置实例如下:

{
    "job": {
        "setting": {
            "speed": {
                "byte":10485760
            },
            "errorLimit": {
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
                "reader": {
                    "name": "streamreader",
                    "parameter": {
                        "column" : [
                            {
                                "value": "DataX",
                                "type": "string"
                            },
                            {
                                "value": 19890604,
                                "type": "long"
                            },
                            {
                                "value": "1989-06-04 00:00:00",
                                "type": "date"
                            },
                            {
                                "value": 123.123,
                                "type": "double"
                            }
                        ],
                        "sliceRecordCount": 100000
                    }
                },
                "writer": {
                    "name": "clickhousewriter",
                    "parameter": {
                        "username": "test",
                        "password": "test",
                        "column": ["str_col", "long_col", "create_time", "double_col"],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:clickhouse://11.157.212.86:3001",
                                "table": ["test_tbl"]
                            }
                        ],
                        "preSql": [],
                        "postSql": [],

                        "batchSize": 65536,
                        "batchByteSize": 134217728,
                        "dryRun": false,
                        "writeMode": "insert"
                    }
                }
            }
        ]
    }
}

4.调度参数配置

脚本模式数据同步任务,与其他所有ETL任务一样,需要配置调度参数,主要是任务依赖关系和调度周期,请参考 调度参数配置

5.独享资源组创建

配置云数据库ClickHouse,需要购买独享资源组进行任务调度,如下图所示,点击右侧数据集成资源组配置,打开资源组配置页面。

独享资源组配置

点击新建独享资源组按钮进入独享资源组管理页面,如下图所示,点击该页面的新增独享资源组创建独享资源组,创建完成后,资源组状态变为运行中,然后点击修改归属工作空间将该资源组绑定到数据同步任务所在的dataworks空间。

独享资源组1

新增U型资源组操作如下图所示,选择独享数据集成资源组,输入资源组名称备注等基本信息,点击购买链接进入购买机器资源,够吗机器资源完成后,在请选择订单号选项里选择出现最新的购买订单进行资源关联,可用区选项请选择机器资源所在可用区。

独享资源组2

在购买机器页面,选择云数据库ClickHouse所在地域和可用区,选择独享数据集成资源,根据数据同步任务数量和数据量选择合适的资源规格,然后提交订单。

独立资源组3

6.发布数据同步任务

购买机器资源成功,新增独享资源组成功,将独立资源组绑定到dataworks工作空间后,返回数据同步任务配置页面,选择新增的独享资源组,完成配置后发布数据同步任务。如下图所示,分别点击保存提交按钮发布任务

数据同步任务9

同步任务运行和排错,请参考dataworks数据同步或ETL任务的通用管理和运维配置,运行和排错