DataX笔记1 —— JSON文件配置

DataX是阿里开源的一款兼容多源异构数据库/数据存储系统的离线数据同步工具,以框架+插件的形式开发,兼容海量数据库和存储系统。

DataX github地址 : DataX github  

DataX的 github 仓库已经讲的非常清楚了,具体如何使用参见 md 文件,说一说今天踩的各种坑

1. 自检案例报错 

理论上自检案例报错这种情况极少出现(毕竟能开发DataX这种工具的组应该也还是相当牛逼的)。

环境:

Java : OpenJDK 11.0.18 

Python: 2.7.18 

OS: Ubuntu 18.04 

MySQL : 5.7.35   

直接下载安装包,通过filezilla上传到服务器,tar -zxvf 解压,运行自检命令 

bin/datax.py job/job.json

报错无法运行,后来经过搜索得知,是解压后的dataX文件夹中,包含很多 “ ._ ” 为前缀的文件,这些文件干扰了datax.py的运行,因此,要将 dataX文件夹下,所有以 “._” 为前缀的文件都删除 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 您好,Datax JSON文件配置说明和案例可以在官方文档中找到:https://github.com/alibaba/DataX/tree/master/doc/configure_details。它提供了许多有用的信息,可以帮助您了解如何使用Datax配置JSON文件。 ### 回答2: datax是一个开源的数据同步工具,它支持多种数据源和目的地的数据同步,其中的json配置文件是用来描述任务流程和数据源/目的地信息的。 在dataxjson配置文件中,主要包含以下几个重要配置项: 1. job:表示datax的一个任务,包含setting和content两个子配置项。 - setting:设置任务的全局参数,可以设置并发度、并行度、执行模式等。 - content:描述任务流程的数据处理步骤,包括读取数据源、处理数据和写入目的地等。 2. reader:数据源的配置项,用于读取数据。根据不同的数据源类型,reader的配置项也会有所不同。例如,对于关系型数据库的读取,需要指定数据库类型、连接信息和查询语句等。 3. writer:目的地的配置项,用于写入数据。同样根据目的地的类型不同,writer的配置项也会有所差异。例如,对于关系型数据库的写入,需要指定数据库类型、连接信息和写入表名等。 除了上述基本配置项外,dataxjson配置文件还可以包含一些高级配置项,例如: - transformer:数据转换器,用于对数据进行加工和转换。 - jobinfo:任务运行信息,包括任务的启动时间、结束时间和执行状态等。 - speed:数据传输速度的控制,可以设置读写速率的上限。 以下是一个dataxjson配置文件的示例: { "job": { "setting": { "speed": { "record": 1000 } }, "content": [ { "reader": { "name": "mysqlreader", "parameter": { "username": "root", "password": "password123", "column": [ "id", "name", "age" ], "connection": [ { "querySql": [ "SELECT * FROM user" ], "jdbcUrl": [ "jdbc:mysql://localhost:3306/test" ] } ], "splitPk": "", "where": "", "fetchSize": 1024 } }, "writer": { "name": "mysqlwriter", "parameter": { "username": "root", "password": "password123", "column": [ "id", "name", "age" ], "connection": [ { "jdbcUrl": "jdbc:mysql://localhost:3306/test" } ], "preSql": [ "truncate table user" ], "postSql": [], "writeMode": "insert" } } } ] } } 在这个示例中,配置了一个从MySQL数据库读取数据,并写入到另一个MySQL数据库的任务。其中,reader使用的是mysqlreader插件,writer使用的是mysqlwriter插件。连接信息、查询语句、字段映射等都在配置项中进行了设置。此外,还设置了数据读取速率控制、写入模式等参数。 ### 回答3: datax是阿里巴巴开源的一款数据同步工具,支持从不同数据源(如关系型数据库、Hadoop、HBase等)抽取、转换和加载数据,并将其同步到其他数据源中。datax配置文件是以json格式编写的,下面是json文件的各项配置说明和案例示例: 1. job - job是datax配置中的根节点,其中包含了任务相关的配置信息。 - 示例:{"job": {...}} 2. setting - setting是job节点下的子节点,用于配置一些通用设置,如错误限制和并发控制。 - 示例:{"setting": {"errorLimit": {"record": 0, "percentage": 0.02}, "speed": {"channel": 3}}} 3. content - content是job节点下的子节点,用于配置具体的任务内容。 - 示例:{"content": [{"reader": {...}, "writer": {...}}]} 4. reader - reader用于配置数据读取相关的信息,如数据源、读取字段和查询条件等。 - 示例:{"reader": {"name": "mysqlreader", "parameter": {"username": "root", "password": "123456", "column": ["id", "name"], "connection": [{"jdbcUrl": "jdbc:mysql://localhost:3306/test", "table": ["user"]}]}} 5. writer - writer用于配置数据写入相关的信息,如数据目标、写入字段等。 - 示例:{"writer": {"name": "mysqlwriter", "parameter": {"username": "root", "password": "123456", "column": ["id", "name"], "connection": [{"jdbcUrl": "jdbc:mysql://localhost:3306/test", "table": ["user"]}]}} 以上为dataxjson文件的一些常用配置说明和案例示例,实际应用中根据具体的数据同步需求进行相应的配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值