Sqoop简介及安装

一、Sqoop简介

Apache Sqoop(TM)是一种旨在有效地在Apache Hadoop和诸如关系数据库等结构化数据存储之间传输大量数据的工具。

二、Sqoop原理

将导入或导出命令翻译成mapreduce程序来实现。
在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。

三、Sqoop安装

安装Sqoop的前提是已经具备Java和Hadoop的环境。

1、上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虚拟机中并解压,如我的上传目录是:/opt/module/

$ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

2、在sqoop根目录下的conf目录中,修改配置文件。
1) 重命名配置文件

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

2) 修改配置文件sqoop-env.sh

export HADOOP_COMMON_HOME=/opt/module/hadoop
export HADOOP_MAPRED_HOME=/opt/module/hadoop
export HIVE_HOME=/opt/module/hive
export ZOOKEEPER_HOME=/opt/module/zookeeper
export ZOOCFGDIR=/opt/module/zookeeper

3、拷贝JDBC驱动
拷贝jdbc驱动到sqoop的lib目录下,如:

$ cp -a mysql-connector-java-5.1.27-bin.jar ~/modules/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/

4、验证Sqoop

我们可以通过某一个command来验证sqoop配置是否正确:

$ bin/sqoop help
出现一些Warning警告(警告信息已省略),并伴随着帮助命令的输出:
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

5、测试Sqoop是否能够成功连接数据库

$ bin/sqoop list-databases --connect jdbc:mysql://linux01:3306/ --username root --password 123456
出现如下输出:
information_schema
metastore
mysql
performance_schema

注意:该Sqoop搭建是在前面Hive镜像基础上搭建的。

猜你喜欢

转载自blog.csdn.net/u012834750/article/details/80812321