<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          dataX是阿里開(kāi)源的離線(xiàn)數(shù)據(jù)庫(kù)同步工具的使用

          共 2147字,需瀏覽 5分鐘

           ·

          2021-06-22 18:04

          dataX是阿里開(kāi)源的離線(xiàn)數(shù)據(jù)庫(kù)同步工具的使用

          DataX介紹:

          DataX 是阿里開(kāi)源的一個(gè)異構(gòu)數(shù)據(jù)源離線(xiàn)同步工具,致力于實(shí)現(xiàn)包括關(guān)系型數(shù)據(jù)庫(kù)(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各種異構(gòu)數(shù)據(jù)源之間穩(wěn)定高效的數(shù)據(jù)同步功能。

          一句話(huà):dataX是阿里開(kāi)源的離線(xiàn)數(shù)據(jù)庫(kù)同步工具。

          DataX設(shè)計(jì)理念

          DataX本身作為數(shù)據(jù)同步框架,將不同數(shù)據(jù)源的同步抽象為從源頭數(shù)據(jù)源讀取數(shù)據(jù)的Reader插件,以及向目標(biāo)端寫(xiě)入數(shù)據(jù)的Writer插件,理論上DataX框架可以支持任意數(shù)據(jù)源類(lèi)型的數(shù)據(jù)同步工作。同時(shí)DataX插件體系作為一套生態(tài)系統(tǒng), 每接入一套新數(shù)據(jù)源該新加入的數(shù)據(jù)源即可實(shí)現(xiàn)和現(xiàn)有的數(shù)據(jù)源互通。

          支持的數(shù)據(jù):

          編輯

          環(huán)境搭建

          系統(tǒng)要求

          系統(tǒng):Linux/Windows

          JDK:1.8+(推薦1.8)

          Python:2.6.x(推薦Python2.6.x)

          Maven:3.x

          凱哥在Windos環(huán)境搭建的。資料如下圖:

          編輯

          編輯

          如果本地沒(méi)有Python環(huán)境的話(huà),下載python-2.7.6-amd64.msi。然后點(diǎn)擊安裝后。

          查看python版本號(hào):

          編輯

          如果沒(méi)有,配置下系統(tǒng)環(huán)境變量就可以了。

          編輯

          測(cè)試:

          將下載的datax.tar.gz解壓后,進(jìn)入到datax目錄下的bin中,里面有datax.py文件??梢栽赾md中測(cè)試:

          python E:\datax\bin\datax.py E:\datax\job\job.json

          說(shuō)明:

          Python:執(zhí)行pytho的

          E:\xx.py:datax的py腳本

          E:\xx.json:同步配置的json文件

          如果亂碼的話(huà),現(xiàn)在CMD輸入:

          CHCP 65001

          使用示例:

          1:從CVS文件中,將數(shù)據(jù)同步到mysql中

          2:從mysql中將數(shù)據(jù)同步到mysql中

          3:從Oracle中將數(shù)據(jù)同步到mysql中

          一:從CVS文件中,將數(shù)據(jù)同步到mysql中:

          1.1:配置json腳本

          結(jié)構(gòu)如下:

          編輯

          分為reader和writer兩個(gè)。

          reader如下圖:

          編輯

          說(shuō)明:

          Path:cvs文件的位置

          Encoding:編碼

          Column:行

          skipHeader:是否跳過(guò)表頭

          CVS文件中數(shù)據(jù):

          編輯

          writer的配置如下圖:

          編輯

          說(shuō)明:

          name:是什么寫(xiě)。Oracle呢還是mysql呢

          parameter:參數(shù)

          writemode:寫(xiě)的模式。Insert表示插入的

          username:數(shù)據(jù)庫(kù)的用戶(hù)名

          password:數(shù)據(jù)庫(kù)的密碼

          column:表的字段

          connection:數(shù)據(jù)庫(kù)連接

          jdbcUrl:數(shù)據(jù)庫(kù)鏈接

          table:表名

          數(shù)據(jù)庫(kù)表:

          編輯

          1.2執(zhí)行:

          在datax的bin目錄執(zhí)行:

          python datax.py ../job/ csv_mysql.json

          編輯

          執(zhí)行后數(shù)據(jù):

          編輯

          具體的json配置信息:

          {

          "job": {

          "setting": {

          "speed": {

          "channel": 1

          }

          },

          "content": [

          {

          "reader": {

          "name": "txtfilereader",

          "parameter": {

          "path": ["D:/ datax.csv"],

          "encoding": "gbk",

          "column": [


          {

          "index": 1,

          "type": "string"

          },

          {

          "index": 2,

          "type": "string"

          }

          ,

          {

          "index": 3,

          "type": "string"

          }

          ],

          "fieldDelimiter": ",",

          "skipHeader": "true"

          }

          },


          "writer": {

          "name": "mysqlwriter",

          "parameter": {

          "writeMode": "insert",

          "username": "root",

          "password": "123456",

          "column": [


          "t_name",

          "addr",

          "c"

          ],

          "session": [],

          "connection": [

          {

          "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/guns?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8",

          "table": ["datax_test"]

          }

          ]

          }

          }

          }

          ]

          }

          }

          二:從mysql中將數(shù)據(jù)同步到mysql中

          1:配置信息如下

          reader配置:

          編輯

          writer配置:

          編輯

          配置完成后,執(zhí)行方法同1.2

          三:從Oracle中將數(shù)據(jù)同步到mysql中

          編輯

          說(shuō)明:

          jdbcUrl配置:"jdbcUrl": ["jdbc:oracle:thin:@localhost:1521:coredb"],

          querySql:有的時(shí)候,我們同步數(shù)據(jù)的時(shí)候,需要根據(jù)條件查詢(xún)同步的。所以可以在這個(gè)querysql中寫(xiě)sql語(yǔ)句。

          執(zhí)行同1.2

          編輯

          執(zhí)行結(jié)果:

          編輯


          瀏覽 68
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产极品艳情生活视频在线播放 | 香蕉黄色电影 | 91主播在线视频 | 国产成人av 高清在线 | 国产极品人妖ts91热爆 |