sqoop导入-hdfs
生活随笔
收集整理的這篇文章主要介紹了
sqoop导入-hdfs
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Sqoop的數據導入
“導入工具”導入單個表從RDBMS到HDFS。表中的每一行被視為HDFS的記錄。所有記錄都存儲為文本文件的文本數據(或者Avro、sequence文件等二進制數據)
列舉出所有的數據庫
命令行查看幫助
bin/sqoop list‐databases ‐‐help列出windows主機所有的數據庫
bin/sqoop list‐databases ‐‐connect jdbc:mysql://192.168.1.7:3306/ ‐‐ username root ‐‐password root查看某一個數據庫下面的所有數據表
bin/sqoop list‐tables ‐‐connect jdbc:mysql://192.168.1.7:3306/userdb ‐‐ username root ‐‐password root如果出現連接拒絕,則在windows的mysql的數據庫中執行以下命
開啟windows的遠程連接權限
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION; FLUSH PRIVILEGES;其它導入示例
表數據
在mysql中有一個庫userdb中三個表:emp, emp_add和emp_conn
導入數據庫表數據到HDFS
下面的命令用于從MySQL數據庫服務器中的emp表導入HDFS。
bin/sqoop import ‐‐connect jdbc:mysql://192.168.1.7:3306/userdb ‐‐ password root ‐‐username root ‐‐table emp ‐‐m 1如果成功執行,那么會得到下面的輸出。
為了驗證在HDFS導入的數據,請使用以下命令查看導入的
hdfs dfs ‐ls /user/root/emp導入到HDFS指定目錄
在導入表數據到HDFS使用Sqoop導入工具,我們可以指定目標目錄。
使用參數 --target-dir來指定導出目的地,
使用參數—delete-target-dir來判斷導出目錄是否存在,如果存在就刪掉
bin/sqoop import ‐‐connect jdbc:mysql://192.168.1.7:3306/userdb ‐‐ username root ‐‐password root ‐‐delete‐target‐dir ‐‐table emp ‐‐targetdir /sqoop/emp ‐‐m 1查看導出的數據
hdfs dfs ‐text /sqoop/emp/part‐m‐00000它會用逗號(,)分隔emp_add表的數據和字段。
1201,gopal,manager,50000,TP 1202,manisha,Proof reader,50000,TP 1203,khalil,php dev,30000,AC 1204,prasanth,php dev,30000,AC 1205,kranthi,admin,20000,TP導入到hdfs指定目錄并指定字段之間的分隔符
bin/sqoop import ‐‐connect jdbc:mysql://192.168.1.7:3306/userdb ‐‐ username root ‐‐password root ‐‐delete‐target‐dir ‐‐table emp ‐‐ target‐dir /sqoop/emp2 ‐‐m 1 ‐‐fields‐terminated‐by '\t'查看文件內容
hdfs dfs ‐text /sqoop/emp2/part‐m‐00000?
總結
以上是生活随笔為你收集整理的sqoop导入-hdfs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sqoop安装
- 下一篇: sqoop导入-hive