DataX ClickZettaWriter 插件

DataX 简介

DataX 是阿里巴巴开源的数据同步工具,支持多种数据源,包括关系型数据库、HDFS、Hive、MaxCompute、HBase、FTP 和本地文件等。本文档将介绍如何使用 DataX ClickZettaWriter 插件,实现 DataX 同步数据到 ClickZetta LakeHouse。

使用限制

  • 不支持vector和json类型

准备工作

  1. 请确保已安装 DataX。具体安装方法,请参考 DataX 使用指南
  2. 下载 DataX ClickZettaWriter 插件,下载地址:DataX ClickzettaWriter 插件。将插件解压到 DataX 安装目录下的
    plugin/writer
    plugin/writer
    目录下。
  3. 在使用 DataX ClickZettaWriter 插件前,请确保在 ClickZetta LakeHouse 中已经创建了相应的表。

使用 DataX ClickZettaWriter 插件

1. 创建配置文件

以下用例展示了如何使用 DataX ClickZettaWriter 插件将 MySQL 数据同步到 ClickZetta LakeHouse。

{ "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": ["jdbc:mysql://mysql_host:mysql_port/database?useSSL=false"], "table": ["test_table"] } ], "password": "example", "username": "example", "where": "" } }, "writer": { "name": "clickzettawriter", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": "jdbc:clickzetta://instance.service/workspace?schema=example&username=example&password=example&vcluster=example", "table": ["test_table"] } ], "password": "example", "username": "example", "preSql": [], "postSql": [], "writeMode": "overwrite", "tableNumber": "1", "partitionColumns": { "region" : "example" } } } } ], "setting": { "speed": { "channel": 1 } } } }

配置说明:

  • mysqlreader
    mysqlreader
    :DataX 内置的 mysqlreader 插件,用于读取 MySQL 数据。具体使用方法,请参考 mysqlreader 插件文档
  • clickzettawriter
    clickzettawriter
    参数说明:
    • jdbcUrl
      jdbcUrl
      :LakeHouse JDBC 连接信息。
    • table
      table
      :写入的表名(仅支持写入一张表)。
    • column
      column
      :写入的列名(
      *
      *
      星号表示所有列)。
    • partitionColumns
      partitionColumns
      :分区列名,用于分区表写入(
      column
      column
      指定的列加上分区别必须是表的所有列)。
    • writeMode
      writeMode
      :写入模式,可选值为
      append
      append
      overwrite
      overwrite
      upsert
      upsert
      ,默认为
      append
      append
    • username
      username
      :LakeHouse 用户名。
    • password
      password
      :LakeHouse 密码。
    • preSql
      preSql
      :写入前执行的 SQL 语句。
    • postSql
      postSql
      :写入后执行的 SQL 语句。

2. 执行同步任务

运行以下命令以执行同步任务:

python bin/datax.py job.json

使用示例

示例 1:同步 MySQL 数据到 ClickZetta LakeHouse

以下配置文件示例将 MySQL 中的

test_table
test_table
数据同步到 ClickZetta LakeHouse 的
example_table
example_table

{ "job": { "content": [ { "reader": { "name": "mysqlreader", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": ["jdbc:mysql://mysql_host:mysql_port/database?useSSL=false"], "table": ["test_table"] } ], "password": "example", "username": "example", "where": "" } }, "writer": { "name": "clickzettawriter", "parameter": { "column": ["*"], "connection": [ { "jdbcUrl": "jdbc:clickzetta://your_instance_name.api.clickzetta.com/your_workspace_name?schema=sample&username=your_user_name&password=your_password&vcluster=your_vcluster_name", "table": ["example_table"] } ], "partitionColumns": { "region" : "example" }, "password": "your_password", "preSql": [], "session": [], "username": "your_user_name", "writeMode": "append", "tableNumber": "1" } } } ], "setting": { "speed": { "channel": 1 } } } }

联系我们
预约咨询
微信咨询
电话咨询