当前位置:   article > 正文

datax 安装和框架_datax distribute 如何配置

datax distribute 如何配置

Datax 安装

  1. 下载datax:wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
  2. 解压datax: tar –zxf datax.tar.gz
  3. 查看datax 命令 datax.py –help参数和作用如下:

-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 框架

 

DataX 将用户的 job.json 同步作业配置解析成一个 JobDataX 通过 JobContainer 完成全局切分,调用任务,前置和后置的执行,任务的真实执行有taskgroupcontainer控制,jobcontainer就像hadoop的client,taskgroupcontainer就像am,而taskgroup就类似nodemanger,是真实的任务执行。

 

datax的重要组件

jobcontainer

JobContainer: Job执行器,负责Job全局拆分、调度、前置语句和后置语句等工作的工作单元。类似Yarn中的JobTracker

TaskGroupContainer

 TaskGroup执行器,负责执行一组Task的工作单元,类似Yarn中的TaskTrackerYarn中的JobTrackerYarn中的TaskTracker通过RPC进行通讯)

相互关系

  1. TaskGroupContainer向JobContainer上报信息,称JobContainer是TaskGroupContainer的上级;
  2. Task向TaskGroupContainer上报信息,称TaskGroupContainer是Task的上级。

Writer

  包含job和task,job是write 拆分的重要组件,真正的任务的读取是task的

startRead方法

Reader

和writer基本相同

Transformer

中间数据转换的组件,目前提供了5种的数据转换,包括字段截取、替换、补充、过滤和groovy自定义,可以自定义(后面有讲解自定义的方法)

相互关系

datax支持的数据源

除了官方提供的之外,datax还支持常用的olap的写如clickhouse、kudu等,除此之外datax可以很方便的自定义读写。(代码中有clickhouse、kudu的写但是没有测试过)。

datax测试(mysql 和 text的数据交换)

  1. 编写job的json文件相关的参数参考官方文档
  1. {
  2. "job": {
  3. "setting": {
  4. "speed": {
  5. "channel": 3
  6. },
  7. "errorLimit": {
  8. "record": 0,
  9. "percentage": 0.02
  10. }
  11. },
  12. "content": [
  13. {
  14. "reader": {
  15. "name": "mysqlreader",
  16. "parameter": {
  17. "username": "root",
  18. "password": "root",
  19. "splitPk": "id",
  20. "column": [
  21. "id","task_id","state","file_name"....
  22. ],
  23. "connection": [
  24. {
  25. "table": [
  26. "content_file_info"
  27. ],
  28. "jdbcUrl": [
  29. "jdbc:mysql://mysql-ip:3306/content?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&allowMultiQueries=true&useSSL=false"
  30. ]
  31. }
  32. ]
  33. }
  34. },
  35. "writer": {
  36. "name": "txtfilewriter",
  37. "parameter": {
  38. "path": "/opt/datax_file",
  39. "fileName": "content_file_info",
  40. "writeMode": "truncate",
  41. "dateFormat": "yyyy-MM-dd HH:mm:ss",
  42. "fileFormat": "csv",
  43. "fieldDelimiter": "\t",
  44. "nullFormat":"\\N"
  45. }
  46. }
  47. }
  48. ]
  49. }
  50. }

2.运行datax  datax.py mysql_text_content_file.json

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号