利用haohedi ETL將數據庫中的數據抽取到hadoop Hive中


采用HIVE自帶的apache 的JDBC驅動導入數據基本上只能采用Load data命令將文本文件導入,采用INSERT ... VALUES的方式插入速度極其慢,插入一條需要幾十秒鍾,基本上不可用。

 Hive 2.1.1需要依賴的jar包有:

hadoop-common-2.6.0.jar
hive-common-2.1.0.jar
hive-jdbc-2.1.0.jar
hive-metastore-2.1.0.jar
hive-serde-2.1.0.jar
hive-service-2.1.0.jar
hive-service-rpc-2.1.0.jar
hive-shims-2.1.0.jar
libthrift-0.9.3.jar

可通過這里查找下載:https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc/2.1.1

 

如果想從各種數據源直接抽取數據導入Hive,且數據量不算太大的話,建議使用CDATA的驅動,但這個驅動是收費的,有一個月的試用期,試用期到期用新的郵箱地址繼續申請也可以。

下載地址:https://www.cdata.com/drivers/hive/jdbc/

下載后解壓並運行setup.jar(雙擊運行),安裝到本地磁盤后,打開安裝后的目錄,里邊有三個文件

image

將jar和lic文件導入到HHDI\WEB-INF\lib下,到期后重新卸載安裝該驅動后,將lic文件更新即可

在HHDI驅動管理中,添加如下驅動

image

cdata.jdbc.hive.HiveDriver

jdbc:hive:Server={host};Port={port};TransportMode=BINARY

數據連接配置:

image

數據抽取從Oracle到Hive,1w條記錄大約用時50秒,數據量不算太大時,尚可接受。

image

海量數據導入,還是建議先將數據導出到txt並上傳到hdfs,用loaddata命令導入,如下:

image

關於如何從數據庫導出文本並導入Hive,請看另外一篇文章:

https://www.cnblogs.com/haohedi/p/10417902.html 

 

HaoheDI讓ETL變得簡單,http://www.haohedi.com


免責聲明!

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



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