sqoop是乙個用來將hadoop和關係型資料庫中的資料相互轉移的工具。
可以將乙個關聯式資料庫(例如:mysql,oracle等)中的資料導進到hadoop的hdfs檔案系統中,也可以將hdfs的資料導進關係型資料庫。
(1)、全表匯入
全表匯入,顧名思義就是將關係型資料庫指定的表資料匯入到hdfs檔案系統的根目錄。
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=movielens'--
usernamesa-
-password
123-
-table
glass#-
-.168.1.
116:1433;database=movielens#-
-username:指定資料庫使用者名稱#-
-password:指定資料庫密碼#-
-table:指定資料庫表名
(2)、全表匯入到hdfs檔案系統指定資料夾
顧名思義,就是將關係型資料庫指定的表資料匯入到hdfs檔案系統的指定檔案目錄。指定的資料夾必須不能存在,sqoop會拒絕向已經存在的資料夾寫入,以避免覆蓋資料。
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=movielens'--
usernamesa-
-password
123-
-table
glass--
target
-dir
/movielens/glass#-
-.168.1.
116:1433;database=movielens#-
-username:指定資料庫使用者名稱#-
-password:指定資料庫密碼#-
-table:指定資料庫表名#-
-target
-dir:指定存放資料的hdfs檔案系統目錄
(3)、部分表匯入到hdfs檔案系統
顧名思義,就是將關係型資料庫指定的表資料中的部分資料匯入到hdfs檔案系統中。
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=movielens'--
usernamesa-
-password
123\--
query
'select
top10
*from
glass
where
$conditions'--
split-by
'no'--
target
-dir
/movielens/glass#-
-query
:query查詢語句'select
top10
*from
glass
where
$conditions',以確定需要匯入的資料。#-
-split-by
'no':
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=movielens'--
usernamesa-
-password
123\--
table
glass--
where
"no=
'1'"--
target
-dir
/movielens/glass1#-
-where:選取"no
='1'"的這條資料匯入到hdfs檔案系統
(4)、保護密碼
顧名思義,就是在輸入資料庫的密碼的時候,命令sqoop從鍵盤鍵入中獲取密碼
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=movielens'--
usernamesa-
p\--
table
glass--
where
"no=
'1'"--
target
-dir
/movielens/glass2#-
-p:命令sqoop從鍵盤鍵入中獲取密碼
(5)、使用其他符號分割資料字段
顧名思義,在sqoop傳導資料時,預設的資料字段分割符為',',使用者可以自定義資料字段分割符。
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=movielens'--
usernamesa-
-password
123\--
table
glass--
where
"no=
'1'"--
target
-dir
/movielens/glass6--
fields
-terminated-by
'\t'#-
-fields
-terminated
-by:使用使用者自定義的符號來作為字段分割符
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=doccontent_f10news'--
usernamesa-
-password
123\--
table
doccontent--
where
"docid
='888888'"--
split-by
'docid'--
target
-dir
/doccontent_f10news/doccontent
sqoop
import--
connect
'jdbc:sqlserver://192
.168.1
.116:1433;database=doccontent_f10news'--
usernamesa-
-password
123\--
table
doccontent--
where
"docid
='888888'"--
split-by
'docid'--
target
-dir
/doccontent_f10news/doccontent3\-
-fields
-terminated-by
'#'-
-mysql
-delimiters--
hive
-drop
-import
-delims
drops\n,
\r,and\01
from
string
fields
when
importing
tohive.-
-hive
-drop
-import
-delims:只能刪除欄位中的\n,\r
,and
\01
暫時還沒有找到方法來清除欄位內的'\t'
Sqoop使用指南總結
sqoop是乙個用於在hadoop和關係型資料庫 oracle,mysql.間資料傳遞的開源工具。下面以oracle為例,介紹使用sqoop將資料從oracle匯入到hadoop中 hdfs hive和hbase 命令格式 sqoop import generic args import args ...
Ubuntu apt 使用指南
起初gnu linux系統中只有.tar.gz。使用者必須自己編譯他們想使用的每乙個程式。在debian出現之後,人們認為有必要在系統中新增 一種機制用來管理安裝在計算機上的軟體包。人們將這套系統稱為dpkg。至此著名的 package 首次在gnu linux上出現。不久之後紅帽子也 開始著手建立...
CImageList使用指南
1.綜述 在mfc 中cimagelist 類封裝了 影象列表控制項的功能,影象列表是乙個具有相同大小的 影象 可以是不同 型別 的集合,其主要用於 應用程式中大規模 圖示的儲存。該控制項是不可 見的,通常與其它如 clistbox ccombobox ccomboboxex ctabctrl 以及...