sqoop安裝:安裝在一台節點上就可以了。
1.上傳sqoop
2.安裝和配置
在新增sqoop到環境變數
將資料庫連線驅動拷貝到$sqoop_home/lib裡
3.使用
第一類:資料庫中的資料匯入到hdfs上
sqoop import
--connect jdbc:mysql: --username root --password 123 --table trade_detail --columns 'id, account, income, expenses'
指定輸出路徑、指定資料分隔符
sqoop import
--connect jdbc:mysql: --username root --password 123 --table trade_detail --target-dir '/sqoop/td' --fields-terminated-by '\t'
指定map數量 -m
sqoop import
--connect jdbc:mysql: --username root --password 123 --table trade_detail --target-dir '/sqoop/td1' --fields-terminated-by '\t' -m 2
增加where條件, 注意:條件必須用引號引起來
sqoop import
--connect jdbc:mysql: --username root --password 123 --table trade_detail --where 'id>3' --target-dir '/sqoop/td2'
增加query語句(使用 \ 將語句換行)
sqoop import
--connect jdbc:mysql: --username root --password 123 \
--query 'select * from trade_detail where id > 2 and $conditions'
--split-by trade_detail.id --target-dir
'/sqoop/td3'
注意:如果使用--query這個命令的時候,需要注意的是where後面的引數,and
$conditions這個引數必須加上
而且存在單引號與雙引號的區別,如果--query後面使用的是雙引號,那麼需要在$conditions前加上\即\
$conditions
如果設定map數量為1個時即-m
1,不用加上--split-by $,否則需要加上
第二類:將hdfs上的資料匯出到資料庫中(不要忘記指定分隔符)
sqoop export --connect jdbc:mysql: --username root --password 123 --export-dir '/td3' --table td_bak -m 1 --fields-terminated-by ','
4.配置mysql遠端連線
grant all privileges on xchadoop.*to
'root'@'192.168.1.201' identified by
'123'
with grant option;
flush privileges;
grant all privileges on*.
*to'root'@'%' identified by
'123'
with grant option;
flush privileges
sqoop 學習筆記
sqoop import connect jdbc oracle thin xx.x.xx.x 1521 sid username username password password query s split by name hive overwrite hive import target d...
sqoop匯出筆記
發表 2016 10 14 瀏覽 755 sqoop匯出 connect,同匯入 username,同匯入 password,同匯入 columnsclass id,class name,teacher 注意 沒有被包含在 columns後面 例如class month,last mod ts 的這...
sqoop匯出筆記
sqoop支援直接從hive表到rdbms表的匯出操作,也支援hdfs到rdbms表的操作,當前需求是從hive中匯出資料到rdbms,有如下兩種方案 從hive表到rdbms表的直接匯出 該種方式效率較高,但是此時相當於直接在hive表與rdbms表的資料之間做全量 增量和更新對比,當hive表記...