#大資料# #hadoop# #Hadoop#
1 概述1.1 sqoop的功能、作用Sqoop主要用於在Hadoop(Hive)與傳統的資料庫(mysql、postgresql...)間進行資料的傳遞,可以將一個關係型資料庫(例如 : MySQL ,Oracle ,Postgres等)中的資料導進到Hadoop的HDFS中,也可以將HDFS的資料導進到關係型資料庫中。
Sqoop專案開始於2009年,最早是作為Hadoop的一個第三方模組存在,後來為了讓使用者能夠快速部署,也為了讓開發人員能夠更快速的迭代開發,Sqoop獨立成為一個Apache專案。
Sqoop專為大資料批次傳輸設計,能夠分割資料集並建立Hadoop任務來處理每個區塊。
1.2 架構將匯入或匯出命令翻譯成 MapReduce 程式來實現,在翻譯出的 MapReduce 中主要是對 InputFormat 和 OutputFormat 進行定製。
2 環境設定2.1 直接從docker啟動docker pull sf2gis/hadoop:sqoop01
docker run -p 8122:22 -p 8188:8088 -p 50170:50070 -p 50175:50075 -p 8120:8020 -p 19888:19888 -p 60110:60010 -p 60130:60030 -it --name sqoop01 --privileged -h hadoop-senior01.test.com --network=mynet --ip 172.18.0.2 sf2gis/hadoop: sqoop01
注意:需要HDFS支援。
2.2 配置檔案下載後解壓:CDH(網站不顯示,可以直接下載)
下載地址:http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm
配置sqoop-env.sh:增加hadoop環境變數
export HADOOP_COMMON_HOME=/opt/module/hadoop-2.6.0
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.6.0
增加mysql驅動:copy mysql連線驅動到lib
增加json解析器:複製java-json.jar到lib,