sqoop(数据迁移工具)-安装-学习
生活随笔
收集整理的這篇文章主要介紹了
sqoop(数据迁移工具)-安装-学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sqoop
1)概述
sqoop是apache旗下一款“Hadoop和關系數據庫服務器之間傳送數據”的工具。 導入數據:MySQL,Oracle導入數據到Hadoop的HDFS、HIVE、HBASE等數據存儲系統; 導出數據:從Hadoop的文件系統中導出數據到關系數據庫mysql等2)工作機制
將導入或導出命令翻譯成mapreduce程序來實現,在翻譯出的mapreduce中主要對inputformat 和outputformat進行定制
3)sqoop安裝:
1.前提有hadoop與jdk
下載:官網
2.修改配置文件
改名字
cd $SQOOP_HOME/conf mv sqoop-env-template.sh sqoop-env.sh在sqoop-env.sh中添加
export HADOOP_COMMON_HOME=/uer/local/chun/hadoop-2.7.7/ export HADOOP_MAPRED_HOME=/uer/local/chun/hadoop-2.7.7/ export HIVE_HOME=/usr/local/hive把jdbc驅動包加入到lib下,注意驅動版本向下兼容
4)啟動驗證
cd $SQOOP_HOME/bin sqoop-version預期的輸出:
sqoop-version Warning: /usr/local/sqoop-1.4.6/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCatalog installation. Warning: /usr/local/sqoop-1.4.6/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. 錯誤: 找不到或無法加載主類 org.apache.hadoop.hbase.util.GetJavaProperty 19/08/27 21:08:58 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6 Sqoop 1.4.6 git commit id c0c5a81723759fa575844a0a1eae8f510fa32c25 Compiled by root on Mon Apr 27 14:38:36 CST 2015無法找不到或無法加載主類 org.apache.hadoop.hbase.util.GetJavaProperty:
因為hbase和hadoop版本有點不兼容,咱們沒出現什么錯誤,就咱們不更換,我這里hbase是2.1.5,換到2.0.6就可以。
5)驗證sqoop到mysql業務庫之間的連通性:
sqoop-list-databases --connect jdbc:mysql://localhost:3306 --username root --password adminsqoop-list-tables --connect jdbc:mysql://localhost:3306/test --username root --password admin6)Sqoop的數據導入
“導入工具”導入單個表從RDBMS到HDFS。表中的每一行被視為HDFS的記錄。所有記錄都存儲為文本文件的文本數據(或者Avro、sequence文件等二進制數據)
1。從mysql導出到hdfs
bin/sqoop import \ //sqoop命令表導入 --connect jdbc:mysql://localhost:3306/hive \ //告訴jdbc,連接mysql的url連接MySQL使用的庫 --username root \ //連接mysql的用戶名 --password admin \ //連接mysql的密碼 --target-dir \ //目標的目錄 /sqooptest \ --fields-terminated-by ‘,’ \ //指定輸出文件中的字段分隔符 --table emp \ //你要導的表 --split-by id \ //如果你的map指定的個數大于1,那就必須指定一個字段 --m 1 //指定的maptask()\可以轉到下一行繼續寫
可以查看導出的數據 cat查看part-m-*
hdfs dfs -cat /mysql/import1/part-m-* dake 22 failedman dake 23 goodman chun3 25 failedman chun1 24 successfulman chun2 23 goodman2.導入關系表到HIVE
sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password root --table emp --hive-import --split-by id --m 13.導入表數據子集
bin/sqoop import \ --connect jdbc:mysql://localhost:3306/test \ --username root \ --password admin \ --where "city ='sec-bad'" \ --target-dir /wherequery \ --table emp_add \--m 1總結
以上是生活随笔為你收集整理的sqoop(数据迁移工具)-安装-学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浦发万用随借金和万用金有什么区别 随借金
- 下一篇: QQ炫舞手游显示进入服务器失败6,qq炫