Data X

news/2024/10/18 5:39:15/

📑 DataX和dataX-web

一 . 安装前准备

DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

DataX 采用 框架 + 插件 的模式:

  • 插件只需关心数据的读取或者写入本身
  • 同步时的共性问题,如 类型转换,性能,统计 由框架来处理

开发插件时 只需要关注两个问题:

  • 数据源本身读写的数据正确性
  • 如何与框架沟通,合理正确地使用框架

逻辑执行模型:

  • Job:是DataX描述一个源头到一个目的端的同步作业,是DataX数据同步的最小业务单元。如将一张mysql表同步到odps一个表的分区
  • Task:是Job拆分得到的最小执行单元。如在同步一张1024哥分表的mysql分库分表的Job时,就可拆分成1024个读Task并发执行
  • TaskGroup:一组Task集合,在同一个TaskGroupContainer执行下的Task集合
  • JobContainer:Job执行器,负责job全局拆分,调度,前置语句和后置语句等工作的工作单元。类似Yarn中的JobTracker 调度Job的每一个子任务task运行于TaskTracker上
  • TaskGroupContainer:TaskGroup的执行器,负责一组Task的工作单元。类似Yarn中的TaskTrackerTaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。

框架为插件提供物理上的执行能力(线程)。框架有三种运行模式

  • Standalone:单线程运行,没有外部依赖
  • Local:单线程运行,统计信息,错误信息汇报到集中存储
  • Distributed:分布式多线程运行,依赖 DataX Service 服务

当 JobContainer和TaskGroupContainer 运行在同一个进程内时,就是单机模式(Standalone和local);当他们分布在不同的进程中执行就是分布式(distributed)

datax-web安装链接

datax-web 集群部署时单独起某一个功能 ./bin/start.sh -m datax-executor

测试速度 datax-web datax

Oracle => hdfs 92s 101s 81s TMP_IMPORT_25 8518500 36个字段

mysql => hdfs 61s 61s 61s TF_BH_TRADE_NEW2I 1983309

hbase => hdfs 42s 42s 42s TF_BH_TRADE_NEW2I_20200823 896433

datax二次开发

datax源码学习

二 . 配置datax和web

1 安装dataX

链接 datax 源码

 mvn -U clean package assembly:assembly -Dmaven.test.skip=true

路径在 /target/datax/datax/ 下面

(需要python环境)

#测试命令
python bin/datax.py job/job.json 
2 安装datax-web

https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md

https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md


http://www.ppmy.cn/news/51115.html

相关文章

低代码平台名声臭,用起来却真香——60%开发者不敢承认

群体盲从意识会淹没个体的理性,个体一旦将自己归入该群体,其原本独立的理性就会被群体的无知疯狂所淹没。——《乌合之众》 不知道从什么时候开始,“低代码不行”的论调充斥着整个互联网圈子,csdn、掘金、知乎、B站、脉脉……到处…

【SpringMVC源码三千问】DispatcherServlet源码解析

DispatcherServlet#doDispatch() 是 SpringMVC 处理请求分发的方法,只要是 spring mvc 处理的 http 请求,都会经过 DispatcherServlet 的请求分发处理,从而调用相应的 handler method。 DispatcherServlet#doDispatch() 源码分析&#xff1a…

【JeecgBoot】Redis 内存到达峰值 100%

文章目录 前言问题排查分析问题设置合理的最大内存限制设置过期时间扩展部分重写配置文件监听键空间事件参考文献前言 今天在访问本地配置的 JeecgBoot 项目发现前端页面一直转圈圈,前端和后端都没有卡死的情况,一般来说如果有死循环或阻塞了,电脑应该呼啦啦的转,开始散热…

后代选择器

知识点&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" c…

【数据结构:线性表】单链表

在学习了顺序表&#xff0c;我们可能会对其有一些思考&#xff1a; 中间/头部的插入删除&#xff0c;时间复杂度为O(N)增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间。会有不小的消耗。增容一般是呈2倍的增长&#xff0c;势必会有一定的空间浪费。例如当前容…

JVM专栏-3.垃圾收集器

在垃圾收集器的上下文中并发和并行的意义 并行&#xff08;Parallel&#xff09;&#xff1a; 并行描述的是多条垃圾收集器线程之间的关系&#xff0c;说明同一时间有多条这样的线程在协同工作&#xff0c;通常默认此时用户线程是处于等待状态的并发&#xff08;Concurrent&…

多线程编程常用函数用法

一、多线程编程常用函数用法 1、pthread_create 头文件 #include<pthread.h>函数声明 int pthread_create(pthread_t*restrict tidp,const pthread_attr_t *restrict_attr,void*&#xff08;*start_rtn)(void*),void *restrict arg)函数功能 pthread_create是UNIX环境…

水果FL Studio21最新中文完整版下载更新及内容介绍

简单总结一下&#xff0c;本次小版本更新最重要的内容&#xff0c;我个人认为是对于M1芯片的适配。其余的比如EQ2&#xff0c;3x这些我们很熟悉的插件虽说也有更新&#xff0c;但是估计并没有特别大的改动。我个人的话会先放一段时间&#xff0c;等下次有其他更让我感兴趣的内容…