小白篇 十二 sqoop export指令實操

2021-10-10 09:44:58 字數 3683 閱讀 5113

獲取原文

簡短介紹

sqoop export指令的作用就是,將集群hdfs中資料匯出至關係型資料庫中。

我們這還是以mysql為例。

1、建立集群測試表和資料

-- hive建立一張表,預設是textfile型別的

create table if not exists dc_dev.export_txt_demo

(name string,

address string

);-- 建立測試資料

insert into dc_dev.export_txt_demo values('測試1','上海');

insert into dc_dev.export_txt_demo values('測試2','北京');

2、建立mysql接收表

-- 建立接收表

3、在集群中執行sqoop export 指令匯出集群資料

sqoop export --connect 'jdbc:mysql:' \

--username 'root' \

--password 'jfdev123' \

--table 'export_txt_demo' \

--export-dir /user/hive/warehouse//dc_dev.db/export_txt_demo \

--input-fields-terminated-by '\001' \

--input-null-string '\\n' \

--input-null-non-string '\\n'

引數說明:

--connect '資料庫連線' \

--username '資料庫賬號' \

--password '資料庫密碼' \

--table '資料庫表名' \

--export-dir 集群hdfs中匯出的資料目錄 \

--input-fields-terminated-by '分隔符,textfile型別預設\001' \

--input-null-string '空值處理:\\n' \

--input-null-non-string '空值處理:\\n'

## 「--export-dir」 引數是資料在hdfs中的路徑

## 可在hive中,通過 show create 表(即:show create dc_dev.export_txt_demo)

## 即可知道表資料在hdfs中的位置

說明:① 匯出表(集群中的),接收表(關係型中的)。都必須先存在,才能通過sqoop exprot匯出。

② 上面示例是匯出的textfile型別的表。

1、集群中建立parquet測試表

-- hive建立一張表parquet型別的表

create table if not exists dc_dev.export_par_demo

(name string,

address string

) stored as parquet; -- 觀察這裡制定建表型別

-- 建立測試資料

insert into dc_dev.export_par_demo values('par測試1','par上海');

insert into dc_dev.export_par_demo values('par測試2','par北京');

2、建立mysql接收表

-- 建立接收表

3、在集群中執行sqoop export 指令匯出集群資料

sqoop export --connect 'jdbc:mysql:' \

--username 'root' \

--password 'jfdev123' \

--table 'export_par_demo' \

--hcatalog-database dc_dev \

--hcatalog-table export_par_demo \

--input-null-string '\\n' \

--input-null-non-string '\\n'

引數說明:

--connect '資料庫連線' \

--username '資料庫賬號' \

--password '資料庫密碼' \

--table '資料庫表名' \

--hcatalog-database 'hive庫名' \

--hcatalog-table 'hive表名' \

--input-null-string '空值處理:\\n' \

--input-null-non-string '空值處理:\\n'

說明:與textfile匯出類似。

① 匯出表(集群中的),接收表(關係型中的)。都必須先存在,才能通過sqoop exprot匯出。

② 上面示例是匯出的parquet型別的表。

使用textfile匯出 比 parquet匯出速度快。因為parquet是壓縮檔案,需要先解壓在匯出

使用sqoop export是不是很簡單就將集群資料匯出到資料庫了呢?大家有想過重複匯出的問題沒有?其實我們實際工作中,都會遇到需要重複執行乙個指令的時候。有想過怎麼處理嗎?這裡是不是可以結合shell指令碼來一起使用呢?東西是死的,人是活的。一定要學會靈活運用!

截自sqoop.apache.org

ctf 小白學習篇

robots協議 robots.txt檔案是乙個文字檔案,使用任何乙個常見的文字編輯器,比如windows系統自帶的notepad,就可以建立和編輯它 robots.txt是乙個協議,而不是乙個命令。robots.txt是搜尋引擎中訪問 的時候要檢視的第乙個檔案。robots.txt檔案告訴蜘蛛程式...

Socket小白篇 TCP UDP簡介

socket 網路通訊的要素 tcp和udp socket的通訊流程圖 1.socket 什麼是socket socket 又稱為套接字,網路上的兩個程式通過乙個雙向的通訊連線實現資料交換,這個連線的一端稱為socket.socket是對tcp ip的協議封裝,socket本身並不是協議,而是乙個呼...

java 引數傳遞(小白篇)

引數傳值分為 值傳遞以及引用傳遞 位址傳遞 個人理解 勿噴 引數分為基本型別,物件等。1.基本型別 8大型別 int float double char long boolean byte short 例子 description author lc time 2018 2 23 0023 publ...