sqoop安裝和簡單實用


運行環境  centos 5.6   hadoop  hive
sqoop是讓hadoop技術支持的clouder公司開發的一個在關系數據庫和hdfs,hive之間數據導入導出的一個工具,手冊地址:http://sqoop.apache.org/docs/1.4.1-incubating/SqoopUserGuide.html


在使用過程中可能遇到的問題:

  • sqoop依賴zookeeper,所以必須配置ZOOKEEPER_HOME到環境變量中。
  • sqoop-1.2.0-CDH3B4依賴hadoop-core-0.20.2-CDH3B4.jar,所以你需要下載hadoop-0.20.2-CDH3B4.tar.gz,解壓縮后將hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2-CDH3B4.jar復制到sqoop-1.2.0-CDH3B4/lib中。

1  首先安裝sqoop,如果你使用的是clouder分發版的話就非常簡單  
   # yum install sqoop
  如果用官方版本的話 
   # cd /etc/yum.repos.d
   # wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo
   # yum -y install sqoop
   sqoop就會安裝完成
2  使用sqoop
   首先將mysql-connector-java-5.1.16-bin.jar文件復制到/usr/lib/sqoop/lib文件夾下
   
3  導入導出數據庫
   1)列出mysql數據庫中的所有數據庫命令
  #  sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password 123456
   
   2)連接mysql並列出數據庫中的表命令
   # sqoop list-tables --connect jdbc:mysql://localhost:3306/test --username root --password 123456
   命令中的test為mysql數據庫中的test數據庫名稱  username password分別為mysql數據庫的用戶密碼
   
   3)將關系型數據的表結構復制到hive中
   sqoop create-hive-table --connect jdbc:mysql://localhost:3306/test --table username --username root --password 123456 --hive-table test
其中 --table username為mysql中的數據庫test中的表   --hive-table test 為hive中新建的表名稱

  4)從關系數據庫導入文件到hive中(可以是步驟3)中已復制過去的表結構,也可以是未復制的,這樣就會新建一個表)
   sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password mysql-password --table t1 --hive-table t1 --hive-import

 

可能遇到的問題:

$ sqoop create-hive-table --connect jdbc:mysql://localhost:3306/dev--username root --password 123456 --table person --hive-table person

……

INFO hive.HiveImport: FAILED: Error in metadata: MetaException(message:Got exception: java.io.FileNotFoundException File file:/user/hive/warehouse/person does not exist.)

……

解決方法:

hadoop fs -mkdir /user/hive/warehouse/

hadoop fs -chown username user/hive/warehouse/

 

 

參考文獻:利用sqoop將hive數據導入導出數據到mysql

Sqoop User Guide (v1.4.1-incubating)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM