sqoop實現資料的抽取

2021-10-12 03:25:23 字數 2066 閱讀 6565

1. sqoop help

2. 列出主機所有的資料庫

sqoop list-databases --connect jdbc:mysql: --username root --password 123456

3.檢視某乙個資料庫下面的所有資料表

sqoop list-tables --connect jdbc:mysql:hive (表名)

--username root --password 123456

步驟:

1: 準備好mysql資料庫的表,以及表資料

2: 將mysql表資料匯入到hdfs

sqoop import --connect jdbc:mysql:資料庫名字

--password 123456 --username root --table 表名 --m 1

注意,mysql位址必須為伺服器ip,不能是localhost或者機器名。

解釋: --m 1 mr個數 指定為1個 預設5個

為了驗證在hdfs匯入的資料,請使用以下命令檢視匯入的資料

hdfs dfs -ls /user/root/表名(mysql) 沒指定目錄 預設在/user/root目錄下

在匯入表資料到hdfs時,使用sqoop匯入工具,我們可以指定目標目錄。

使用引數 --target-dir來指定匯出目的地,

使用引數--delete-target-dir來判斷匯出目錄是否已存在,如果存在就刪掉

sqoop import --connect jdbc:mysql:test --username root --password 123456 --delete-target-dir --table emp --target-dir /sqoop/emp --m 1 (mr的split切分數量)

匯入到hdfs指定目錄並指定字段之間的分隔符

sqoop import --connect jdbc:mysql:test --username root --password 123456 --delete-target-dir --table emp --target-dir /sqoop/emp2 --m 1 --fields-terminated-by '\t'

3: 將資料匯入到hive 將mysql當中的資料匯入到hive表當中來

3.1: 建立hive資料庫

3.2: 建立hive表(為了方便查詢hive表字段最好和mysql資料庫欄位名字一致)

3.3: 開始匯入

sqoop import \

--connect jdbc:mysql:test \ #test是mysql資料庫名字

--username root \

--password 123456 \

--table emp \ #mysql表名

--fields-terminated-by '\t' \ #指定分隔符

--hcatalog-database sqooptohive \ #hive資料庫名字

--hcatalog-table emp_hive \ #hive表名

-m 1 #(mr的split切分數量)

3.4: 可以查詢資料了

步驟:

1:在mysql找那個鍵匯出表,字段最好和hive表一致

2:通過export來實現資料的匯出,將hive的資料匯出到mysql當中去

sqoop export \

--connect jdbc:mysql:test --username root --password 123456 \

--table emp_out \ #mysql表名字

--hcatalog-database sqooptohive \

--hcatalog-table emp_hive \

-m 1

Sqoop通過條件實現資料的抽取

我們可以匯入表時使用sqoop匯入工具,where 子句的乙個子集。它執行在各自的數 據庫伺服器相應的sql查詢,並將結果儲存在hdfs的目標目錄。sqoop import connect jdbc mysql username root password 123456 table emp add ...

Sqoop資料抽取 待續

sqoop主要用於在hdfs 關係型資料庫之間傳遞資料,可以將關係型資料庫資料匯入到hdfs,也可以將hdfs資料匯出到關聯式資料庫。本文主要講解一下使用sqoop進行單庫單錶以及分庫分表資料的抽取方法。sqoop import orders mr job.xml mapred.job.queue....

sqoop定時增量抽取資料到hive

1 第一次全量抽取,並建立hive表 keberos認證 kinit kt hdfs.keytab hdfs 從oracle導資料到hive sqoop import connectjdbc oracle thin xx.xx.xx.xx 1521 xx username password tabl...