日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS搭建Sqoop环境

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS搭建Sqoop环境 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Sqoop是一個用來將Hadoop(Hive、HBase)和關系型數據庫中的數據相互轉移的工具,可以將一個關系型數據庫(例如:MySQL ,Oracle ,Postgres等)中的數據導入到Hadoop的HDFS中,也可以將HDFS的數據導入到關系型數據庫中。

Sqoop安裝

1、下載Sqoop安裝包

在Sqoop官網下載安裝包,本次使用的是sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz安裝在/usr/local目錄下,下載地址為http://apache.fayea.com/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

2、解壓Sqoop安裝包

1 #進入sqoop安裝目錄 2 [hadoop@BigData ~]$ cd /usr/local 3 #解壓sqoop安裝包 4 [hadoop@BigData ~]$ tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 5 #刪除sqoop安裝包 6 [hadoop@BigData ~]$ rm -rf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 7 #重命名sqoop目錄名 8 [hadoop@BigData ~]$ mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

3、配置Sqoop環境變量

1 #配置Sqoop環境變量 2 [root@BigData ~]# vi /etc/profile 3 export SQOOP_HOME=/usr/local/sqoop 4 export PATH=$PATH:$SQOOP_HOME/bin 5 #使環境變量配置生效 6 [root@BigData ~]#/etc/profile

4、將關系型數據庫驅動包放到sqoop/lib目錄下

MySql:mysql-connector-java-5.1.30.jar Oracle:ojdbc14.jar

5、修改Sqoop配置文件

1 [hadoop@BigData ~]$ mv sqoop-env-template.sh sqoop-env.sh 2 [hadoop@BigData ~]$ vi sqoop-env.sh 3 #Set path to where bin/hadoop is available 4 export HADOOP_COMMON_HOME=/usr/local/hadoop 5 #Set path to where hadoop-*-core.jar is available 6 export HADOOP_MAPRED_HOME=/usr/local/hadoop 7 #set the path to where bin/hbase is available 8 export HBASE_HOME=/usr/local/hbase 9 #Set the path to where bin/hive is available 10 export HIVE_HOME=/usr/local/hive 11 #Set the path for where zookeper config dir is 12 export ZOOCFGDIR=/usr/local/zookeeper 到此,sqoop環境就已搭建成功!

Sqoop測試

1、導入MySql數據到hdfs中

mysql數據庫中sqoop庫中出來test表,表結構及數據如下所示:
idusernamegendertelephoneemail
1test_01Female138xxxx0903test_01@example.com
2test_02Male187xxxx9364test_02@example.com
該命令執行結束后,觀察hdfs的目錄/user/{USER_NAME},下面會有一個文件夾是test,里面有個文件是part-m-00000。該文件的內容就是數據表aa的內容,字段之間是使用制表符分割的。

2、hdfs導出數據到mysql

把上一步導入到hdfs的數據導出到mysql中。我們已知該文件使用制表符分隔的。那么,我們現在數據庫sqoop中創建一個數據表hive,其表結構和test表結構一樣。然后執行下面的命令 1 [hadoop@BigData ~]$sqoop export --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table hive --export-dir '/user/hadoop/test/part-m-00000'--fields-terminated-by '\t' 參數解釋:
參數解釋
sqoopsqoop命令
export導出操作
--connect?jdbc:mysql://ip:3306/sqoop連接mysql的url
--username連接mysql的用戶名
--password連接mysql的密碼
--tablemysql中的表,即將被導入的表名稱
--export-dirhive中被導出的文件
--fields-terminated-by指定輸出文件中的行的字段分隔符
查看sqoop庫中的hive表中是否已經有兩條數據
idusernamegendertelephoneemail
1test_01Female138xxxx0903test_01@example.com
2test_02Male187xxxx9364test_02@example.com

3、Mysql數據導入到Hive

比如把表test數據導入到Hive中,增加參數 –hive-import 1 [hadoop@BigData ~]$ sqoop import --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table test --warehouse-dir /usr/local/hive/warehouse --hive-import --create-hive-table

進入Hive Client驗證導入的數據:

1 [hadoop@BigData bin]$ hive client 2 hive> show tables; 3 user_information 4 test 5 login_log 6 hive> select * from test; 7 1 test_01 Female 138xxxx0903 test_01@example.com 8 2 test_02 Male 187xxxx9364 test_02@example.com

?4、Mysql數據導入到Hbase

把表test數據導入到HBase,指定Hbase中表名為demo_sqoop2hbase的命令

1 [hadoop@BigData ~]$ sqoop import --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table test --hbase-table demo_sqoop2hbase --hbase-create-table --hbase-row-key id --column-family url

hbase shell中驗證導入的數據:

1 [hadoop@BigData bin]$ hbase shell 2 hbase(main):009:0>list 3 demo_sqoop2hbase

轉載于:https://www.cnblogs.com/yinghun/p/6221335.html

總結

以上是生活随笔為你收集整理的CentOS搭建Sqoop环境的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。