- 學習花費2h
- 一、安裝
- 1.安裝JDK1.8及以上(推薦低版本對計算機的資源消耗少)
- 2.安裝python2.6.1
- 添加環境變量
- 使用的是python3和python2在用戶級別的環境變量中的添加
- 環境變量圖示
- 環境變量圖示
- 使用的是python3和python2在用戶級別的環境變量中的添加
- 復制命名
- 備注:由於python2.6.1無pip,而本人使用的過程項目對於python2沒有安裝需求,所以這里沒有安裝
- 這里對python2.6.1中,復制python.exe文件,命名為python2.exe
- 在cmd里切換調用
- 切換調用
- 提示:由於pip沒有復制重命名,所以在cmd,pip時是在給python3.6.5安裝插件
- 切換調用
- 添加環境變量
- 3.安裝datax
- 官網下載
- 解壓至一目錄
- 圖示
- 圖示
- 二、自檢
- 進入bin目錄,進行自檢
- 進入bin目錄
- 圖示
- 圖示
- 進行自檢
- 自檢腳本: python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json
- 本機命令
- python2 D:\裝機軟件\python編程\大數據采集技術\datax/bin/datax.py D:\裝機軟件\python編程\大數據采集技術\datax/job/job.json
- cmd亂碼解決:輸入CHCP 65001
- 自檢截圖
- 進入bin目錄
- 進入bin目錄,進行自檢
- 三、查看配置模板進行配置
- 前提:要在bin目錄下
- 查看配置文件
- python2 datax.py -r streamreader -w streamwriter
- 圖示
- 在job文件夾下,新建json文件
- 圖示1
- 按自己的需求配置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 } } } }
-
- 示例
- 圖示1
- 四、運行Job
- 命令
- python2 datax.py D:\裝機軟件\python編程\大數據采集技術\datax/job/stream2stream.json
- 運行截圖1
- 運行截圖2
- 命令
- 一、安裝
- 使用4h(主要在調試)
- 小練習csv數據導入mysql
- 准備工作
- CSV表
- 圖示
- 圖示
- 創建數據庫和表
- 圖示
- 圖示
- CSV表
- 步驟
- 第一步、創建作業的配置文件(json格式)
- 命令
- python2 datax.py -r txtfilereader -w mysqlwriter
- 命令
- 第二步、根據配置文件模板填寫相關選項
- 第三步:啟動DataX
- 命令
- 進入datax\bin
- cd\
- d:
- cd datax\bin
- 亂碼解決
- CHCP 65001
- python2 datax.py D:\datax\job\test.json
- 進入datax\bin
- 命令
- 第一步、創建作業的配置文件(json格式)
- 遇到的問題及解決方案
- 1、一直報json文件配置不正確
- 原因是因為在編輯json文件時,某些字符編碼發生了變化
- 解決方案:
- (1)從官方文檔找到demo,創建json文件
- (2)采用Hbuilder X進行編輯,檢查錯誤
- 2、數據庫連接不上的問題
- 原因:datax官方支持的mysql5.0版本的驅動和連接的jdbcUrl
- 解決方案
- 更換本機的8.0驅動
- 修改jdbcUrl
- 3、插入數據庫失敗
- 原因:設計表時:ID設置為不為空,沒有設置為自動遞增
- 4、讀取的數據有亂碼
- 設置
- "encoding": "UTF-8"
- "encoding": "GBK"
- 設置
- 5、json配置文件錯誤
- 圖示1和圖示2是mysql寫入mysql中的json文件配置,有一個地方很容易發生錯誤
- 就是在jdbcURL這里,reader里的有[],writer里的沒有[]
- 給的啟示就是,多注意細節,盡量使用命令查看模板
- python2 datax.py -r txtfilereader -w mysqlwriter
- 圖示1
- 圖示2
- 圖示1和圖示2是mysql寫入mysql中的json文件配置,有一個地方很容易發生錯誤
- 1、一直報json文件配置不正確
- 准備工作
- 小練習csv數據導入mysql