Sqoop1 4 6使用指南

2021-08-03 16:12:09 字數 4163 閱讀 5918

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 以及...