使用sqoop將mysql資料匯入到hive中

2022-07-20 17:36:13 字數 2825 閱讀 8725

首先準備工具環境:hadoop2.7+mysql5.7+sqoop1.4+hive3.1

準備一張資料庫表:

接下來就可以操作了。。。

一、將mysql資料匯入到hdfs

首先我測試將zhaopin表中的前100條資料匯出來,只要id、jobname、salarylevel三個字段。

再hdfs上建立目錄

hadoop fs -mkdir -p /data/base  #

用於存放資料

我們cd到sqoop目錄下執行命令

# \ 用於換行

bin/sqoop import

\--connect jdbc:mysql: \  #連線資料庫

--username root \  #使用者名稱

--password 123456\  #密碼

--query '

select id, jobname, salarylevel from zhaopin where $conditions limit 100

'\  #選取表的字段資訊

--target-dir /data/base \  #上傳到hdfs的目錄

--delete-target-dir \  #如果指定檔案目錄存在則先刪除掉

--compress \  #啟動壓縮

--direct \  #使用直接匯入方式,優化匯入速度

--fields-terminated-by '

\t'  #欄位之間通過空格分隔

當你看到下面資訊,就成了。。。

hadoop fs -ls -r /data/hbase  #檢視目錄發現多了兩個檔案,我們就成功將資料匯入到了hdfs
二、將hfds資料匯入到hive

首先我們先在hive中建立乙個表,我們直接在預設的庫中建立乙個表。

drop table if

id int,

jobname string,

salarylevel string

)row format delimited fields terminated by '\t

' ;  #這個地方是標記分割欄位的,\t為空格分隔,否則會在匯入的hive表中都是null.

類似於這樣

接下來就是匯入環節了,在hive下執行命令:

檢視一下結果:

返回hdfs檢視發現,base目錄下原有的兩個檔案少了乙個,它被移動到hive的hdfs儲存中去了

三、用sqoop直接將mysql資料匯入hive中

首先我們再建立一張表

create table default.hive_zhaopin_jingji(

id int,

jobname string,

salarylevel string

)row format delimited fields terminated by '\t

' ;然後cd到sqoop目錄下,執行命令

bin/sqoop import

\--connect jdbc:mysql: \  #連線mysql必備

--username root \

--password 123456\

--table zhaopin \  #要連線的表

--fields-terminated-by '\t'

\  #欄位通過空格分隔

--delete-target-dir \  #如果目錄存在就刪除

--hive-import

\  #執行匯入hive

--hive-database default \  #匯入到預設的default庫

--hive-table hive_zhaopin_jingji  #匯入到hive_zhaopin_jingji表中

執行玩這些,表示沒有報錯。

檢視了一下,資料都是對的。

倘若你的程式每次執行都會卡在job執行的時刻,那麼應該是你的yarn-site.xml配置錯誤,仔細檢查一下確保字母沒有寫錯。

over。。。

使用sqoop將mysql資料匯入hbase

下表 1 通過hbase shell 開啟hbase。2 建立乙個hbase表 3 將so表的資料匯入到hbase中。opt檔案 connect 資料庫 username 資料庫使用者名稱 password 資料庫密碼 table 需要sqoop的表 columns 表中的列 hbase table...

Sqoop將資料從Mysql匯入Hive中

hive匯入引數 hive home 重寫 hive home hive import 插入資料到hive當中,使用hive的預設分隔符 hive overwrite 重寫插入 create hive table 建表,如果表已經存在,該操作會報錯!hive table table 設定到hive當...

利用Sqoop將MySQL資料匯入Hive中

參考 1.list databases sqoop list databases connect jdbc mysql username sqoop password sqoop 2.用sqoop建立hive表 sqoop create hive table connect jdbc mysql x...