SQOOP安装以及基本操作

Sqoop admin 2年前 (2018-11-27) 115次浏览 0个评论 扫描二维码

1、SQOOP安装

1)下载SQOOP

http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.7.0.tar.gz

2)解压

[hadoop@hadoop000 software]$ tar -xzvf sqoop-1.4.6-cdh5.7.0.tar.gz -C ~/app/

3)配置环境变量

[hadoop@hadoop000 software]$ vim ~/.bash_profile
export SQOOP_HOME=/home/hadoop/app/sqoop-1.4.6-cdh5.7.0
export PATH=$SQOOP_HOME/bin:$PATH
[hadoop@hadoop000 software]$ source ~/.bash_profile

2、SQOOP简单使用

1)查看库列表

sqoop list-databases \
--connect jdbc:mysql://localhost:3306/test \
--username hadoop \
--password 123456

2)查看表列表

sqoop list-tables \
--connect jdbc:mysql://localhost:3306/test \
--username hadoop \
--password 123456

3)查看指定库的表

sqoop list-tables \
--connect jdbc:mysql://localhost:3306/test \
--username hadoop \
--password 123456

4)从mysql导入到HDFS-1

sqoop import \
--connect jdbc:mysql://localhost:3306/test \
--username hadoop \
--password 123456 \
--table page_views \
--delete-target-dir \
-m 1
#查看数据
[hadoop@hadoop000 software]$ hdfs dfs -text page_views/*|head -10

5)从mysql导入到HDFS-2

--columns指定字段
--target-dir EMP_COLUMN_WHERE 中间hdfs存储目录
--where 'SAL>2000' where条件
--fields-terminated-by '\t' 分隔符
--null-non-string 非string字段转换
--null-string string字段转换
sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop \
--username root \
--password root \
--table emp \
--mapreduce-job-name FromMySQLToHDFS \
-m 1 \
--delete-target-dir \
--columns 'EMPNO,ENAME,JOB,SAL,COMM' \
--target-dir EMP_COLUMN_WHERE \
--fields-terminated-by '\t' \
--null-non-string '0' \
--null-string '' \
--where 'SAL>2000'

6)从mysql导入到HDFS-3

不指定表名,使用SQL

-e "select * from emp where empno>7900 and \$CONDITIONS"
sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop \
--username hadoop \
--password 123456 \
--mapreduce-job-name FromMySQLToHDFS \
-m 1 \
--delete-target-dir \
--target-dir /data/emp_page_views \
--fields-terminated-by '\t' \
--null-non-string '0' \
--null-string '' \
-e "select * from emp where empno>7900 and \$CONDITIONS"

7)HDFS => MySQL

sqoop export \
--connect jdbc:mysql://localhost:3306/sqoop \
--username root \
--password root \
--table emp_d5 \
--export-dir EMP_COLUMN_SPLIT \
--columns 'EMPNO,ENAME,JOB,SAL,COMM' \
--fields-terminated-by '\t'

8)RDBMS==>Hive

--delete-target-dir 自动删除中间表
--hive-import 导入到hive
--hive-overwrite hive表覆盖
--hive-partition-key 'pt' 指定partition  key
--hive-partition-value 'ruoze' value
sqoop import \
--connect jdbc:mysql://localhost:3306/sqoop \
--username root \
--password root \
--table emp \
--delete-target-dir \
--hive-import  \
--hive-table d5_emp_test_p \
--fields-terminated-by '\t' \
--columns 'EMPNO,ENAME,JOB,SAL,COMM' \
--hive-overwrite \
--hive-partition-key 'pt' \
--hive-partition-value 'ruoze'

codeobj , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQOOP安装以及基本操作
喜欢 (0)
[a37free@163.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址