datax安裝 及 springboot整合 datax


換了新工作,Java出身的我,弄點大數據的活.

datax安裝

環境要求
1.jdk1.8
2.python


源碼地址:https://github.com/alibaba/DataX

這里我下載的是最新版本的 DataX3.0 。下載地址為:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

解壓
[root@localhost /]# tar -zxvf datax.tar.gz -C /opt/soft/
[root@hadoop ~]$ cd /opt/software/datax/
[root@hadoop datax]$ bin/datax.py job/job.json
 
出現如圖則安裝成功


json文件就不示例了,以下是springboot整合datax,主要的問題是jar包環境的問題,這個磨了好久才能出來.

先把源碼下載或者clone下來, 用idea打開.

重點
1.在根目錄的pom文件中,把不需要的模塊給注釋掉(打包時間短)

2.把你需要的轉換的數據源模塊打開,我的業務需要是txtreader和mysqlwrite.

3.這個時候,maven打包,先選擇root打包(第一次需要)

重點又來了
4.

(1)在core包里面新建一個 plugin 目錄,位置如下


(2)上圖可以看出需要引一些東西.
在txtreader和mysqlwriter中的的target包中復制到上圖的目錄中,
mysql示例如圖

(3)把core打包生成jar包(后面為我們的springboot項目使用)

ok,jar包環境搞定.不要問我為什么這么做,也是公司大佬教我的.不用像其他博客說的,一個一個打包,一個一個引入,一個一個寫maven導入,太麻煩了

.

新建springboot項目


看圖,大家大概了解了,給大家解釋一下,新建目錄變成資源目錄,在把我們之前打好的jar包復制進去,其他兩個是基礎包,core是最重要的.下圖是變成資源目錄的方式


我們建立一個main方法

public class datax {
public static void main(String[] args) {
String getCurrentClasspath = "D:\\project\\datax\\DataX\\core\\src\\main";
System.setProperty("datax.home", getCurrentClasspath);
String[] datxArgs = {"-job", "D:\\project\\demo\\src\\main\\job\\txt2mysql.json", "-mode", "standalone", "-jobid", "-1"};
try {
Engine.entry(datxArgs);
} catch (Throwable e) {
e.printStackTrace();
}
}

解釋一下:
getCurrentClasspath:是源碼目錄,不是指向項目的目錄.
網上有教程說用環境變量的,但是我不會.
datxArgs 改變你的json目錄就行.
json去github上研究就行.這里不介紹了.

 

這篇文章的重點是把打包后數據源jar包復制給core,core再打包一次就可以直接用了


————————————————
版權聲明:本文為CSDN博主「csdn_ling_」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/CSDN_ling_/article/details/108664360


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM