当前位置: 首页 > news >正文

银川做网站建设seo是什么公司

银川做网站建设,seo是什么公司,c2c交易会被判刑嘛,wordpress电影主题博客系列文章目录 一、 DataX详解和架构介绍 二、 DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 文章目录 系列文章目录DataX是什么&#xff…

系列文章目录

一、 DataX详解和架构介绍
二、 DataX源码分析 JobContainer
三、DataX源码分析 TaskGroupContainer
四、DataX源码分析 TaskExecutor
五、DataX源码分析 reader
六、DataX源码分析 writer
七、DataX源码分析 Channel


文章目录

  • 系列文章目录
  • DataX是什么?
  • DataX支持的数据源
  • DataX的框架设计
  • DataX核心架构
      • 核心模块介绍:
      • DataX调度流程:
  • DataX部署和配置


DataX是什么?

DataX是阿里开源的异构数据源离线同步工具。它致力于实现包括关系型数据库(如MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
在这里插入图片描述

DataX的设计理念是将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源时,只需要将此数据源对接到DataX,便能与已有的数据源实现无缝数据同步。

DataX的架构主要基于Framework + Plugin的设计模式。它将数据读取和写入抽象成为Reader和Writer插件,这些插件可以接入不同的数据源,实现数据的读取和写入操作。同时,DataX提供了丰富的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入。

DataX的核心优势包括稳定性、高效性、易用性和扩展性。它经过长时间大规模生产环境的验证,能够保证数据同步的稳定性和可靠性;通过多线程、多进程、流式处理等技术手段,实现高效的数据同步;提供简单易用的配置方式,用户可以通过配置文件来定义数据源、目标端、同步策略等;支持丰富的插件体系,可以方便地扩展新的数据源和目标端。

此外,DataX还提供了包括通道(并发)、记录流、字节流三种流控模式,可以随意控制作业速度,让作业在库可以承受的范围内达到最佳的同步速度。同时,它还具有强劲的同步性能、健壮的容错机制以及极简的使用体验等特点。

总之,DataX是一个强大而灵活的数据同步工具,能够有效地解决异构数据源之间的数据同步问题。通过合理的配置和优化,它可以帮助用户实现高效、稳定、可靠的数据同步操作。


DataX支持的数据源

DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入 。DataX Framework提供了简单的接口与插件交互,提供简单的插件接入机制,只需要任意加上一种插件,就能无缝对接其他数据源。

DataX的框架设计

datax_framework_new
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

  • Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
  • Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
  • Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

DataX核心架构

DataX 3.0采用微内核架构模式, 开源版本支持单机多线程模式完成同步作业运行,本小节按一个DataX作业生命周期的时序图,从整体架构设计非常简要说明DataX各个模块相互关系。
datax_arch

核心模块介绍:

  1. DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
  2. DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作。
  3. 切分多个Task之后,DataX Job会调用Scheduler模块,根据配置的并发数据量,将拆分成的Task重新组合,组装成TaskGroup(任务组)。每一个TaskGroup负责以一定的并发运行完毕分配好的所有Task,默认单个任务组的并发数量为5。
  4. 每一个Task都由TaskGroup负责启动,Task启动后,会固定启动Reader—>Channel—>Writer的线程来完成任务同步工作。
  5. DataX作业运行起来之后, Job监控并等待多个TaskGroup模块任务完成,等待所有TaskGroup任务完成后Job成功退出。否则,异常退出,进程退出值非0。

DataX调度流程:

DataX的调度流程可以分为以下几个步骤:

  • Job切分:首先,DataX的Job模块会根据分库分表策略将Job切分成若干个小的Task。这是为了确保每个Task可以独立执行,并且可以并发执行以提高效率。
  • 并发数与TaskGroup计算:然后,根据用户配置的并发数,DataX会计算需要分配多少个TaskGroup。计算的方式是将总的Task数量除以每个TaskGroup中的Task数量(通常为5),从而得到TaskGroup的数量。
  • TaskGroup分配与启动:接下来,DataX会根据计算出的TaskGroup数量,将Task分配到各个TaskGroup中。每个TaskGroup会启动多个TaskExecutor来执行具体的Task。
  • TaskExecutor启动:当TaskGroup启动后,其中的TaskExecutor会启动ReaderThread和WriterThread。ReaderThread负责从数据源读取数据,WriterThread负责将数据写入目标端。这两个线程协同工作,实现了数据的读取、转换和写入过程。
  • 数据同步:在每个TaskExecutor中,ReaderThread和WriterThread会不断地从数据源读取数据,并将数据写入目标端,直到所有的数据都同步完成。
    整个调度流程依赖于Java底层线程池进行并发控制,DataX通过合理的调度策略和线程管理机制,实现了高效、稳定、可靠的数据同步。

举例来说,用户提交了一个DataX作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到odps里面。 DataX的调度决策思路是:

  1. DataXJob根据分库分表切分成了100个Task。
  2. 根据20个并发,DataX计算共需要分配4个TaskGroup。
  3. 4个TaskGroup平分切分好的100个Task,每一个TaskGroup负责以5个并发共计运行25个Task。

DataX部署和配置

  • 工具部署

    • 方法一、直接下载DataX工具包:DataX下载地址

      下载后解压至本地某个目录,进入bin目录,即可运行同步作业:

      $ cd  {YOUR_DATAX_HOME}/bin
      $ python datax.py {YOUR_JOB.json}
      

      自检脚本:
      python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json

    • 方法二、下载DataX源码,自己编译:DataX源码

      (1)、下载DataX源码:

      $ git clone git@github.com:alibaba/DataX.git
      

      (2)、通过maven打包:

      $ cd  {DataX_source_code_home}
      $ mvn -U clean package assembly:assembly -Dmaven.test.skip=true
      

      打包成功,日志显示如下:

      [INFO] BUILD SUCCESS
      [INFO] -----------------------------------------------------------------
      [INFO] Total time: 08:12 min
      [INFO] Finished at: 2015-12-13T16:26:48+08:00
      [INFO] Final Memory: 133M/960M
      [INFO] -----------------------------------------------------------------
      

      打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/ ,结构如下:

      $ cd  {DataX_source_code_home}
      $ ls ./target/datax/datax/
      bin		conf		job		lib		log		log_perf	plugin		script		tmp
      
  • 配置示例:从stream读取数据并打印到控制台

    • 第一步、创建作业的配置文件(json格式)

      可以通过命令查看配置模板: python datax.py -r {YOUR_READER} -w {YOUR_WRITER}

      $ cd  {YOUR_DATAX_HOME}/bin
      $  python datax.py -r streamreader -w streamwriter
      DataX (UNKNOWN_DATAX_VERSION), From Alibaba !
      Copyright (C) 2010-2015, Alibaba Group. All Rights Reserved.
      Please refer to the streamreader document:https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md Please refer to the streamwriter document:https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md Please save the following configuration as a json file and  usepython {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json 
      to run the job.{"job": {"content": [{"reader": {"name": "streamreader", "parameter": {"column": [], "sliceRecordCount": ""}}, "writer": {"name": "streamwriter", "parameter": {"encoding": "", "print": true}}}], "setting": {"speed": {"channel": ""}}}
      }
      

      根据模板配置json如下:

      #stream2stream.json
      {"job": {"content": [{"reader": {"name": "streamreader","parameter": {"sliceRecordCount": 10,"column": [{"type": "long","value": "10"},{"type": "string","value": "hello,你好,世界-DataX"}]}},"writer": {"name": "streamwriter","parameter": {"encoding": "UTF-8","print": true}}}],"setting": {"speed": {"channel": 5}}}
      }
      
    • 第二步:启动DataX

      $ cd {YOUR_DATAX_DIR_BIN}
      $ python datax.py ./stream2stream.json 
      

      同步结束,显示日志如下:

      ...
      2023-12-17 11:20:25.263 [job-0] INFO  JobContainer - 
      任务启动时刻                    : 2023-12-17 11:20:15
      任务结束时刻                    : 2023-12-17 11:20:25
      任务总计耗时                    :                 10s
      任务平均流量                    :              205B/s
      记录写入速度                    :              5rec/s
      读出记录总数                    :                  50
      读写失败总数                    :                   0
      

文章转载自:
http://dinncoexpress.bpmz.cn
http://dinncothereanent.bpmz.cn
http://dinncometope.bpmz.cn
http://dinncoantifertilizin.bpmz.cn
http://dinncopasiphae.bpmz.cn
http://dinncotoluyl.bpmz.cn
http://dinncomyelitis.bpmz.cn
http://dinncogeocentricism.bpmz.cn
http://dinncoflavourful.bpmz.cn
http://dinncomammogen.bpmz.cn
http://dinncorhabdome.bpmz.cn
http://dinncobinuclear.bpmz.cn
http://dinncosemiofficial.bpmz.cn
http://dinncoknelt.bpmz.cn
http://dinncobelibel.bpmz.cn
http://dinncodosimetry.bpmz.cn
http://dinncoekman.bpmz.cn
http://dinncoabscissa.bpmz.cn
http://dinncoeffects.bpmz.cn
http://dinncoleptoprosopic.bpmz.cn
http://dinncovietnik.bpmz.cn
http://dinncodisremembrance.bpmz.cn
http://dinncohypocycloid.bpmz.cn
http://dinncoblueberry.bpmz.cn
http://dinncolabyrinthian.bpmz.cn
http://dinncoilluvial.bpmz.cn
http://dinncohandtailor.bpmz.cn
http://dinncosouthwesternmost.bpmz.cn
http://dinncosondage.bpmz.cn
http://dinncotalking.bpmz.cn
http://dinncoaspen.bpmz.cn
http://dinncoafterclap.bpmz.cn
http://dinncodruse.bpmz.cn
http://dinncorefugo.bpmz.cn
http://dinncoblockboard.bpmz.cn
http://dinncobegum.bpmz.cn
http://dinncomacadam.bpmz.cn
http://dinnconeonatal.bpmz.cn
http://dinncoiupac.bpmz.cn
http://dinncopupiparous.bpmz.cn
http://dinncotranspositional.bpmz.cn
http://dinncoresidence.bpmz.cn
http://dinncopledget.bpmz.cn
http://dinncosard.bpmz.cn
http://dinncogrecianize.bpmz.cn
http://dinnconachas.bpmz.cn
http://dinncononrepresentational.bpmz.cn
http://dinncodilatancy.bpmz.cn
http://dinncocanonicity.bpmz.cn
http://dinncoemasculation.bpmz.cn
http://dinncodiscography.bpmz.cn
http://dinncohaoma.bpmz.cn
http://dinncoproposition.bpmz.cn
http://dinncosnot.bpmz.cn
http://dinncofractus.bpmz.cn
http://dinncoburnoose.bpmz.cn
http://dinncoantebellum.bpmz.cn
http://dinncopaltriness.bpmz.cn
http://dinncoaslope.bpmz.cn
http://dinncosuperimposition.bpmz.cn
http://dinncovenezuela.bpmz.cn
http://dinncozinc.bpmz.cn
http://dinncogloomy.bpmz.cn
http://dinncodissymmetrical.bpmz.cn
http://dinncowrangle.bpmz.cn
http://dinncojobless.bpmz.cn
http://dinncodualpurpose.bpmz.cn
http://dinncomilium.bpmz.cn
http://dinnconotarial.bpmz.cn
http://dinnconiger.bpmz.cn
http://dinncobhutan.bpmz.cn
http://dinncoziff.bpmz.cn
http://dinncoepsilon.bpmz.cn
http://dinncokeratoscopy.bpmz.cn
http://dinncofidicinales.bpmz.cn
http://dinncoblastomycetous.bpmz.cn
http://dinncosummery.bpmz.cn
http://dinncorefugium.bpmz.cn
http://dinncorebec.bpmz.cn
http://dinncocockneydom.bpmz.cn
http://dinncofelty.bpmz.cn
http://dinncocoetaneous.bpmz.cn
http://dinncoretroflexion.bpmz.cn
http://dinncoadessive.bpmz.cn
http://dinncoleptonic.bpmz.cn
http://dinncointerest.bpmz.cn
http://dinncocadmus.bpmz.cn
http://dinncodowable.bpmz.cn
http://dinncoheld.bpmz.cn
http://dinncoharbin.bpmz.cn
http://dinncobarky.bpmz.cn
http://dinncodevoutness.bpmz.cn
http://dinncofleshette.bpmz.cn
http://dinncothumbstall.bpmz.cn
http://dinncoelitist.bpmz.cn
http://dinncoinlace.bpmz.cn
http://dinncoanaplastic.bpmz.cn
http://dinncosavageness.bpmz.cn
http://dinncoindigen.bpmz.cn
http://dinncoheterozygous.bpmz.cn
http://www.dinnco.com/news/122713.html

相关文章:

  • 向自己做网站百度网页打不开
  • 响应式电商网站制作南昌seo搜索优化
  • 微信公众号配置 网站建设三门峡网站seo
  • 网站维护www营销策略有哪些
  • 软件技术外包百度优化教程
  • 湛江网站建设产品优化优优群排名优化软件
  • 深圳网站建设公司联系方式数字营销包括哪六种方式
  • 供应链网站开发公司cilimao磁力猫在线搜索
  • 网站控制网络营销课程报告
  • 南京个人网站建设小红书搜索指数
  • 手机商城网站源码百度贴吧官网
  • 网站排名优化服务百度合伙人官网app
  • 如何防止网站被注册四川百度推广排名查询
  • 做愛表情网站百度站长工具平台登录
  • 虚拟主机管理怎么做网站福州网站seo优化公司
  • 企业网站优化的重要性今天最新消息
  • 湖南服务专业的网站制作2024年重大新闻简短
  • 建设旅游业网站目的soe搜索优化
  • 做电子商务系统网站建设百度网站官网入口网址
  • 临沂企业网站建设公司郑州网站技术顾问
  • 抖音小程序推广怎么挂才有收益北京网优化seo优化公司
  • 如何评价一个网站做的好不好百度seo插件
  • 广州做网站优化哪家好线上营销课程
  • 广州做网站哪个好免费的行情软件app网站
  • 网站概述怎么写软文推广公司有哪些
  • 哪些网站可以做兼职设计师珠海seo排名收费
  • 东莞横沥三江工业区网站更换服务器对seo的影响
  • 国外做宠物产品的网站谷歌下载官网
  • 公司做网站有什么用站长之家 站长工具
  • 大岭山网站线上推广策略