Sqoop框架原理及安装测试

目录

一、Sqoop原理

二、安装测试


一、Sqoop原理

Sqoop,简而言之SQL-to-Hadoop,主要用于传统关系型数据库(mysql、Oracle)与Hadoop生态存储系统(HDFS、Hive、HBase)之间进行数据相互传递。

在sqoop1.4.6之前的版本称为sqoop,sqoop1.99之后的版本称为sqoop2,

sqoop中只支持map没有reduce,所有的操作对象都与仓库交互,

sqoop2中支持map和reduce,只有server与仓库交互,提高了安全性。sqoop和sqoop2的运行原理、安装、操作

 

Sqoop底层实现的是MapReduce,将导入Import和导出Export命令翻译成mapreduce程序来实现;其依赖于Hadoop,数据并行导入。

sqoop架构图:

Sqoop工具接收到客户端的shell命令或者Java api命令后,通过Sqoop中的任务翻译器(Task Translator)将命令转换为对应的MapReduce任务,而后将关系型数据库RDBMS和Hadoop中的数据进行相互转移,进而完成数据的拷贝。 

 

二、安装测试

配置完Java和Hadoop环境是按照Sqoop的前提。

1. 修改配置文件

在sqoop安装目录下的conf目录中

$ mv sqoop-env-template.sh sqoop-env.sh

然后修改配置文件sqoop-env.sh,添加各项路径如下

export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2
export HIVE_HOME=/opt/module/hive
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export ZOOCFGDIR=/opt/module/zookeeper-3.4.10
export HBASE_HOME=/opt/module/hbase

2. 拷贝JDBC驱动到sqoop的lib目录下,连接mysql用

$ cp mysql-connector-java-5.1.27-bin.jar /opt/module/sqoop/lib/

3. 验证sqoop是否安装正确

$ bin/sqoop help

出现如下信息为安装正确:

Available commands:
  codegen            Generate code to interact with database records
  create-hive-table     Import a table definition into Hive
  eval               Evaluate a SQL statement and display the results
  export             Export an HDFS directory to a database table
  help               List available commands
  import             Import a table from a database to HDFS
  import-all-tables     Import tables from a database to HDFS
  import-mainframe    Import datasets from a mainframe server to HDFS
  job                Work with saved jobs
  list-databases        List available databases on a server
  list-tables           List available tables in a database
  merge              Merge results of incremental imports
  metastore           Run a standalone Sqoop metastore
  version            Display version information

4. 测试sqoop是否能连接mysql数据库

$ bin/sqoop list-databases --connect jdbc:mysql://hadoop100:3306 --username root --password 000000

出现如下数据库内容证明将databases全部列出,连接成功

information_schema
metastore
mysql
performance_schema

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值