1.上傳sqoop
2.安裝和配置(搭好集群,幾乎不用配置sqoop)
在新增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(使用map數量) 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 itcast.* 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 中文手冊 1 列出mysql資料庫中的所有資料庫 bin sqoop list databases connect jdbc mysql vampire04 3306 username root password 123456 2 mysql hdfs 連線mysql 資料匯出到 hdf...
Sqoop (二)Sqoop 的簡單使用案例
二 匯出資料 三 指令碼打包 在sqoop中,匯入 概念指 從非大資料集群 rdbms 向大資料集群 hdfs,hive,hbase 中傳輸資料,叫做 匯入,即使用import關鍵字。確定mysql服務開啟正常 在mysql中新建一張表並插入一些資料 mysql uroot p000000 mysq...
sqoop簡單用法
sqoop是用於對資料進行匯入匯出的。1 把mysql oracle等資料庫中的資料匯入到hdfs hive hbase中 2 把hdfs hive hbase中的資料匯出到mysql oracle等資料庫中 1.把資料從mysql匯入到hdfs 預設是 user 中 件,hive import代表...