赞
踩
-j或者—jvm 设置jvm参数如堆栈信息等
--jobid 设置jobId 在local和Distribute 模式使用
-m 或者--mode 运行模式包括standalone, local,distribute三种模式(开源版不支持distibute和local)
-p参数设置,通过-p设置参数后可以通过${param}在job中获取
-r 读plugn 如:hdfsReader
-w 写plugn 如:hdfsWriter
DataX 将用户的 job.json 同步作业配置解析成一个 Job,DataX 通过 JobContainer 完成全局切分,调用任务,前置和后置的执行,任务的真实执行有taskgroupcontainer控制,jobcontainer就像hadoop的client,taskgroupcontainer就像am,而taskgroup就类似nodemanger,是真实的任务执行。
JobContainer: Job执行器,负责Job全局拆分、调度、前置语句和后置语句等工作的工作单元。类似Yarn中的JobTracker
TaskGroupContainer
TaskGroup执行器,负责执行一组Task的工作单元,类似Yarn中的TaskTracker(Yarn中的JobTracker和Yarn中的TaskTracker通过RPC进行通讯)
包含job和task,job是write 拆分的重要组件,真正的任务的读取是task的
startRead方法
和writer基本相同
中间数据转换的组件,目前提供了5种的数据转换,包括字段截取、替换、补充、过滤和groovy自定义,可以自定义(后面有讲解自定义的方法)
除了官方提供的之外,datax还支持常用的olap的写如clickhouse、kudu等,除此之外datax可以很方便的自定义读写。(代码中有clickhouse、kudu的写但是没有测试过)。
- {
- "job": {
- "setting": {
- "speed": {
- "channel": 3
- },
- "errorLimit": {
- "record": 0,
- "percentage": 0.02
- }
- },
- "content": [
- {
- "reader": {
- "name": "mysqlreader",
- "parameter": {
- "username": "root",
- "password": "root",
- "splitPk": "id",
- "column": [
- "id","task_id","state","file_name"....
- ],
- "connection": [
- {
- "table": [
- "content_file_info"
- ],
- "jdbcUrl": [
- "jdbc:mysql://mysql-ip:3306/content?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false"
- ]
- }
- ]
- }
- },
- "writer": {
- "name": "txtfilewriter",
- "parameter": {
- "path": "/opt/datax_file",
- "fileName": "content_file_info",
- "writeMode": "truncate",
- "dateFormat": "yyyy-MM-dd HH:mm:ss",
- "fileFormat": "csv",
- "fieldDelimiter": "\t",
- "nullFormat":"\\N"
- }
- }
- }
- ]
- }
- }
2.运行datax datax.py mysql_text_content_file.json
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。