internetreadfile读取数据长度为0_Datax3.0的安装和基本使用
今天安裝了下datax,正好有一些心得,感覺可以記錄下來,避免下一次在踩坑。
DataX 是阿里巴巴集團內被廣泛使用的離線數據同步工具/平臺,實現(xiàn)包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、OTS、ODPS 等各種異構數據源之間高效的數據同步功能。
DataX本身作為數據同步框架,將不同數據源的同步抽象為從源頭數據源讀取數據的Reader插件,以及向目標端寫入數據的Writer插件,理論上DataX框架可以支持任意數據源類型的數據同步工作。同時DataX插件體系作為一套生態(tài)系統(tǒng), 每接入一套新數據源該新加入的數據源即可實現(xiàn)和現(xiàn)有的數據源互通。
簡單點來說的話:就是數據的轉移,可以從一個庫快速轉移到另一個庫中,并且是離線的。
首先先說安裝datax:
先去下載:
DataX下載地址
然后放入自己的服務器中,
tar -xvf datax.tar.gz(解壓)
chmod -R 775 ./datax(給這個文件夾增加最高權限((讀、寫、執(zhí)行))
python datax.py ../job/job.json(測試下安裝成功沒有)
成功出現(xiàn)這個,蛋疼(內存不足)。。。。自己解決吧!然后編寫腳本就可以測試了。
模板: python datax.py -r {讀的name} -w {寫的name},會出現(xiàn)模板 然后你可以根據模板更改。
datax 腳本的例子:
{"job": {"content": [{"reader": {"name": "mysqlreader", "parameter": {"column": ["id","role","create_time","update_time","version"], "connection": [{"jdbcUrl": ["jdbc:mysql://********:3306/test"], "table": ["tb_role"]}], "username": "root","password": "****" }}, "writer": {"name": "mysqlwriter", "parameter": {"column": ["id","role","create_time","update_time","version"], "connection": [{"jdbcUrl": ["jdbc:mysql://******:3306/test1"], "table": ["tb_role_test"]}], "username": "root","password": "****" }}}], "setting": {"speed": {"channel": "1"}}} }其中我說幾個比較重要的
name: 表示哪一個數據庫的寫或者讀,在plugin文件夾下面
column:需要讀的字段或寫的字段
connection:連接的url,注意reader中的url是數組,writer中的url是String類型的,
table:表名
username:數據庫的名字
password:數據庫的密碼 注意數據庫的名字和密碼不要寫反了。
還有最后一個注意事項:
注意看你的數據庫的版本,datax中默認的驅動是mysql-connector-java-5.1.34.jar,
如果你的版本是8.0的,記得新增加一個8.0的驅動
路徑:/test/datax/plugin/writer/mysqlwriter/libs(這是我的路徑,你的把test去掉就好了應該可以找到的)
如果不知何怎么查詢版本的,select version();就可以查詢了(還有其他的方法)。
新增的8.0的驅動運行:python datax.py ./mysql2mysql.json(路徑和腳本名字 記得改。如果和上面出現(xiàn)的測試成功差不多,就說明成功了。)
總結
以上是生活随笔為你收集整理的internetreadfile读取数据长度为0_Datax3.0的安装和基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python绘制饼图的列表有none_p
- 下一篇: ipynb和py文件一样吗_文件描述符了