hbase sqoop 实验_SQOOP安装及使用-实验
SQOOP是用于對數據進行導入導出的。
(1)把MySQL、Oracle等數據庫中的數據導入到HDFS、Hive、HBase中
(2)把HDFS、Hive、HBase中的數據導出到MySQL、Oracle等數據庫中
(3)導入導出的事務是以Mapper任務為單位。
1、sqoop的安裝步驟
1.1、執行命令:tar -zxvf sqoop-1.4.3.bin__hadoop-1.0.0.tar.gz解壓
1.2、執行命令:mv sqoop-1.4.3.bin__hadoop-1.0.0 sqoop重命名路徑
1.3、配置環境變量:并執行命令:source /etc/profile
export SQOOP_HOME=/home/hadoop/app/sqoop
export PATH=.:$SQOOP_HOME/bin:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$JAVA_HOME/bin:$PATH
View Code
1.4、cp /home/hadoop/app/mysql-connector-java-5.1.10.jar $SQOOP_HOME/lib/
2、sqoop的使用
2.1、把數據從mysql導入到hdfs中:默認路徑是/user/,注意這里的username是登錄主機的用戶,不是數據庫的用戶
sqoop ##sqoop命令
import ##表示導入
--connect jdbc:mysql://hadoop:3306/test ##告訴jdbc,連接mysql的url,其中test表示要導出數據的數據庫名稱
--username root ##連接mysql的用戶名
--password hadoop123 ##連接mysql的密碼
--table users ##從mysql導出的表名稱
--fields-terminated-by '\t' ##指定輸出文件中的行的字段分隔符
--null-string '**' ##指定空值的顯示為**
-m 1 ##復制過程使用1個map作業,默認為4
--append ##指定插入數據的方式
--hive-import ##把mysql表數據復制到hive中,如果不使用該選項,意味著復制到hdfs中
--check-column 'ID' ##指定增量導入要檢查的字段
--incremental append ##指定增量導入數據的方式
--last-value 6 ##指定增量導入數據的分割值
View Code
2.2、把數據從hdfs導出到mysql中
sqoop
export ##表示數據從hive復制到mysql中
--connect jdbc:mysql://hadoop:3306/test
--username root
--password admin
--table users_bak ##mysql中的表,即將被導入的表名稱,必須存在
--export-dir '/hive/users' ##hive中被導出的文件目錄
--fields-terminated-by '\t' ##hive中被導出的文件字段的分隔符
View Code
2.3、設置為作業,運行作業
sqoop
job #表示JOB命令
--create myjob #創建的JOB名稱
-- #不能省略!后面跟JOB的定義內容
import
--connect jdbc:mysql://hadoop:3306/test
--username root
--password hadoop123
--table users
--fields-terminated-by '\t'
--null-string '**'
-m 1
--append
--hive-import
View Code
查看JOB:sqoop job --list
執行JOB:sqoop job --exec myjob
刪除JOB:sqoop job --delete myjob
執行后會要求輸入密碼注意是輸入:JOB定義內容中的password 的值!
如果不想輸入密碼修改$SQOOP_HOME/conf/sqoop-site.xml中的參數
sqoop.metastore.client.record.password
true
If true, allow saved passwords in the metastore.
View Code
總結
以上是生活随笔為你收集整理的hbase sqoop 实验_SQOOP安装及使用-实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在EA中画ER图和数据模型图
- 下一篇: git傻瓜教程