数据采集引擎Sqoop

Sqoop概述

官网 http://sqoop.apache.org/
场景
      传统型缺点,分布式存储。把传统型数据库数据迁移。
      Apache Sqoop(TM)是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效
传输批量数据的工具 。

数据交换:Oracle <---> Sqoop <---> HDFS、HBase、Hive

安装部署

解压
修改配置
vi sqoop-env.sh
export HADOOP_COMMON_HOME=/root/hd/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/root/hd/hadoop-2.8.4
export HIVE_HOME=/root/hd/hive
export ZOOCFGDIR=/root/hd/zookeeper-3.4.10/conf
发送mysql/oracle驱动到lib下
检测是否安装成功    bin/sqoop help

使用sqoop

注意:如果是Oracle,大写:用户名、表名、列名

1 codegen            Generate code to interact with database records
  sqoop codegen --connect jdbc:oracle:thin:@192.168.157.163:1521/orcl --username SCOTT --password tiger --table EMP --outdir /root/sqoop

2  create-hive-table  Import a table definition into Hive
  根据Oracle的表结构创建Hive的表结构
  sqoop create-hive-table --connect jdbc:oracle:thin:@192.168.137.129:1521:orcl --username SCOTT --password tiger --table EMP --hive-table emphive

3  eval    Evaluate a SQL statement and display the results  
   在Sqoop执行SQL
   sqoop eval --connect jdbc:oracle:thin:@192.168.157.163:1521/orcl --username SCOTT --password tiger --query 'select * from emp where deptno=10'
4  export             Export an HDFS directory to a database table
5  help               List available commands
6  import             Import a table from a database to HDFS
   sqoop import --help   ----> 本质是:就是MR程序
   导入数据到HDFS
   sqoop import --connect jdbc:oracle:thin:@192.168.157.163:1521/orcl --username SCOTT --password tiger --table EMP --target-dir /sqoop/import/emp1
   导入EMP表,指定导入列
   sqoop import --connect jdbc:oracle:thin:@192.168.157.163:1521/orcl --username SCOTT --password tiger --table EMP --columns ENAME,SAL --target-dir /sqoop/import/emp2
7  import-all-tables  Import tables from a database to HDFS
   sqoop import-all-tables --connect jdbc:oracle:thin:@192.168.157.163:1521/orcl --username SCOTT --password tiger 
8  list-databases     List available databases on a server
   针对Oracle:当前数据库中所有的用户名
   针对MySQL: 所有的数据库的名字
   sqoop list-databases --connect jdbc:oracle:thin:@192.168.157.163:1521/orcl --username SYSTEM --password password
9  list-tables        List available tables in a database
   sqoop list-tables --connect jdbc:oracle:thin:@192.168.223.133:1521:orcl --username SCOTT --password tiger
10 将数据导入HBase(需要事先将表创建)
	sqoop import --connect jdbc:oracle:thin:@192.168.137.129:1521:orcl --username SCOTT --password tiger --table EMP --columns empno,ename,sal,deptno --hbase-table emp --hbase-row-key empno --column-family empinfo 
11 mysql导入到hive  需要先创建hive表
    bin/sqoop import --connect jdbc:mysql://hd09-01:3306/sq --username root --password root --table user1 --num-mappers 1 --hive-import --fields-terminated-by "\t" --hive-overwrite --hive-table user_sqoop



 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值