sqoop2用法介紹及問題解決方法

2021-08-21 18:28:34 字數 1724 閱讀 1226

什麼是sqoop

我的專案中用到sqoop2

其中mysql資料到hdfs就是由sqoop完成,hdfs資料匯入到hive則是通過在hive中建表,通過load....overwrite....hive命令匯入建好的hive表。

如何使用sqoop2

我是在兩台伺服器上執行sqoop,一台作為服務端,一台作為客戶端。 找到sqoop安裝目錄,進入bin目錄,裡面有乙個sqoop2-server服務端指令碼,啟動服務端命令

./sqoop2-server start
在另一台伺服器上開啟bin目錄,看到有sqoop2-shell客戶端指令碼,啟動客戶端命令

./sqoop2-shell
接著讓客戶端連線上服務端

到此,連線建立成功。

資料匯入到hdfs

在客戶端建立link,link是基於connector的,建立link的過程相當於是connector的例項化,將指定鏈結的位址、使用者名稱密碼等資訊。有了link之後就可以建立job,job對應兩個link,乙個連線資料來源乙個連線資料目的地。job建立完成後並沒有實際執行資料的傳輸,可以在任意時間啟動建立成功的job。

建立link1,link1為hdfs的鏈結

create link -c hdfs-connector
建立link2,link2為關係型資料庫的鏈結

create link -c generic-jdbc-connector
link建立好後,建立job,乙個job對應mysql資料庫的一張表

create job -f link2名稱 -t link1名稱
啟動job,開啟服務

start job --id job的id
hdfs資料到hive

hive建表,表結構與mysql資料庫中表結構一樣。

create table configure_detection_area(

id bigint,

cameraid bigint

) partitioned by(resource_scheme string)

row format serde 'org.apache.hadoop.hive.serde2.opencsvserde'

with serdeproperties(

"separatorchar"=",",

"quotechar"="'",

"escapechar"="\\"

)stored as textfile;

導資料

load data inpath'hdfs中存mysql資料的目錄' overwrite into table configure_detection_area 

partition(resource_scheme='suidao');

JasperReport 配置及問題解決!

jasperreport pdf中文 深入 去分析問題的原因,很快我就發現原來是jasperreports 在呼叫itext.jar 另外乙個開源專案 建立字型的時候出現了問題,查閱了 itext 的使用,原來它在使用亞洲字型的時候還有其他兩個包 itextasian.jar 和itextasian...

tomcat 安裝及問題解決

安裝 1 wegt 或 rz be 選擇apache tomcat 8.5.38.tar.gz 2 tar zxvf apache tomcat 8.5.38.tar.gz 3 mkdir usr local tomcat 4 mv apache tomcat 8.5.38 usr local to...

windows MySQL安裝及問題解決

安裝版本為5.6版本,穩定,可靠 第三步 點選mysql community server進入頁面,再點選5.6版本的資料庫 開啟目錄,會看到my default.ini配置檔案,複製這個配置檔案可以重新命名為my.ini或者my.cnf 設定mysql客戶端預設字符集 default charac...