datax:如何使用datax
一、如何编译
从https://github.com/alibaba/DataX将工程代码下载到本地,配置好java和maven环境,执行命令mvn -U clean package assembly:assembly -Dmaven.test.skip=true即可实现打包,执行完毕之后会在工程目录下面有一个target目录,包含有一个datax的文件夹和datax.tar.gz文件即是我们需要的文件
二、如何使用
进入datax/bin目录下,新建test.json文件,文件内容为:
{ "job": { "setting": { "speed": { "channel": 1 } }, "content": [ { "reader": { "name": "txtfilereader", "parameter": { "path": ["/XXX/src"], "encoding": "UTF-8", "column": [ { "index": 0, "type": "long" }, { "index": 1, "type": "long" } ], "fieldDelimiter": "," } }, "writer": { "name": "txtfilewriter", "parameter": { "path": "/XXX/dest", "fileName": "dest", "writeMode": "truncate" } } } ] } }
在当前目录下执行python datax.py test.json命令,即可将datax运行起来
三、参数说明
1、datax使用json作为配置文件,文件可以是本地的也可以是远程http服务器上面 2、json配置文件最外层是一个job,job包含setting和content两部分,其中setting用于对整个job进行配置,content是数据的源和目的 3、setting:用于设置全局channel配置,脏数据配置,限速配置等,本例中只配置了channel个数1,也就是使用单线程执行数据传输 4、content: 1)reader:配置从哪里读数据 name:插件名称,需要和工程中的插件名保持一致 parameter:插件对应的输入参数 path:源数据文件的路径 encoding:数据编码 fieldDelimiter:数据分隔符 column:源数据按照分隔符分割之后的位置和数据类型 2)writer:配置将数据写到哪里去 name:插件名称,需要和工程中的插件名保持一致 parameter:插件对应的输入参数 path: 目标路径 fileName: 目标文件名前缀 writeMode: 写入目标目录的方式 5、具体插件参数含义可以查看datax官方文档 1)https://github.com/alibaba/DataX/blob/master/txtfilereader/doc/txtfilereader.md 2)https://github.com/alibaba/DataX/blob/master/txtfilewriter/doc/txtfilewriter.md
四、/XXX/src测试数据
文件a: 1,2 3,4 5,6
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
“龙井”开箱评测 |Alibaba Dragonwell 新手上路指南
作者|阿里云智能事业群 高级技术专家 陆传胜阿里巴巴有着最丰富的 Java 应用场景,覆盖电商,金融,物流等众多领域,是世界上最大的 Java 用户之一。2019 年 3 月 21 日,阿里巴巴在北京阿里云峰会上正式宣布开源了 Alibaba Dragonwell 8 产品,并建立了 Alibaba Dragonwell 社区来为全球 Java 用户,特别是中文社区的 Java 用户提供长期支持的 JDK 产品。自宣布开源以来,Alibaba Dragonwell 8 受到了国内外 Java 开发者的关注,今天这篇文章就来详解 Alibaba Dragonwell8 的快速安装和使用,同时列出了参与社区建设的几种方式,期望为那些即将安装及使用 Alibaba Dragonwell 8 的开发者提供参考。 Alibaba Drago
- 下一篇
python 多重类继承__init__
目的 项目中遇到多重类继承的问题,想调用父类构造函数中的内容,调试了一两个小时,遇到两个问题。 说不存在某个父类的函数; 报MRO列表错误; 查询了相关的文档,大致是讲解父类的继承,没有涉及到多重继承,以及多重继承构造函数的问题,这里总结一下。 调用父类方法 想在子类中调用父类的某个已经被覆盖的方法: 解决方案 为了调用父类(超类)的一个方法,可以使用 super() 函数,比如 class A: def spam(self): print('A.spam') class B(A): def spam(self): print('B.spam') super().spam() # Call parent spam() super() 函数的一个常见用法是在 __init__() 方法中确保父类被正确的初始化了: class A: def __init__(self): self.x = 0 class B(A): def __init__(self): super().__init__() self.y = 1 super() 的另外一个常见用法出现在覆盖Python特殊方法的代码中,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7设置SWAP分区,小内存服务器的救世主