开发者社区> 我哩个去> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Sqoop安装使用

简介:
+关注继续查看

1 环境

1、操作系统:CentOS-6.5-x86

2、JDK-1.6.0_45

3、Hadoop-1.2.1

4、Zookeeper-3.4.6

5、sqoop-1.4.5.bin__hadoop-1.0.0

2 搭建前提条件

已经按照Hadoop中“HBase安装”文章,已经搭建起了一个Hbase数据库,并且已经启动。

3 部署步骤

3.1 下载

http://sqoop.apache.org/

3.2 安装

安装目录:/opt

修改操作权限:


sudo  chmod  755  sqoop-1.4.5.bin__hadoop-1.0.0.tar.gz

修改用户权限:
sudo  chown  -R  hadoopusr:hadoop  sqoop-1.4.5.bin__hadoop-1.0.0.tar.gz

解压:
sudo  tar  -zxvf  sqoop-1.4.5.bin__hadoop-1.0.0.tar.gz

更改目录名称:

sudo  mv  mv  sqoop-1.4.5.bin__hadoop-1.0.0  sqoop-1.4.5

3.3 添加环境变量信息

进入/etc/profile:


sudo  vi  /etc/profile

添加:
export  SQOOP_HOME=/opt/sqoop-1.4.5

在“export PATH=”信息后,添加:

:$SQOOP_HOME/bin

保存退出,然后使配置文件生效:

sudo  source

3.4 修改配置文件

进入“/opt/sqoop-1.4.5/conf”目录,修改文件名:


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

修改文件信息:

vi  sqoop-env.sh

添加信息:
#Set path to where bin/hadoop is availableexport HADOOP_COMMON_HOME=/opt/hadoop-1.2.1
 

#Set path to where hadoop-*-core.jar is available

export HADOOP_MAPRED_HOME=/opt/hadoop-1.2.1

 

#set the path to where bin/hbase is available

export HBASE_HOME=/opt/hbase-0.98.4

 

#Set the path to where bin/hive is available

#export HIVE_HOME=

 

#Set the path for where zookeper config dir is

export ZOOCFGDIR=/opt/zookeeper-3.4.6

3.5 测试

输入命令“sqoop”,若能出现正常的信息,即为安装成功。

4 连接数据库

这里,造作的都是Mysql数据库中,一个叫test的表。

4.1 添加数据库驱动包

MySql添加:mysql-connector-java-5.1.20-bin.jar

Oracle添加:ojdbc14.jar

slf4j添加:slf4j-api-1.6.4.jar,slf4j-log4j12-1.6.4.jar(从Hbase中找)

4.2 列出MysqL中所有表

连接Mysql数据库,显示所有表:

sqoop  list-databases  –connect   jdbc:mysql://10.5.110.240  -username  lab1107  -password  lab1107

【说明】
sqooplist-tables
–connect   jdbc:mysql://10.5.110.240/test

-username  lab1107

-password  lab1107
#sqoop命令#使用的是显示所有表操作
#告诉jdbc,连接mysql的url为10.5.110.240,使用的是test数据库

#连接mysql的用户名为lab1107

#连接mysql的密码为lab1107

1、以上的命令中后面的##部分是注释,为了说明方便添加,执行的时候需要删掉;另外,命令的所有内容不能换行,只能一行才能执行。

4.3 连接mysql并列出test数据库中的表

sqoop  list-tables  –connect  jdbc:mysql://10.5.110.240/test  -username  lab1107  -password  lab1107

4.4 将mysql数据导入HDFS中

sqoop  import  –connect  jdbc:mysql://10.5.110.240:3306/test  -username  lab1107  -password  lab1107 -table tb_user  -m  1  -target-dir  /user/test

4.5 将Mysql数据导入Hbase中

sqoop  import  –connect jdbc:mysql://10.5.110.240/test  –username  lab1107  –password  lab1107  –table tb_user  –hbase-table  demo_2hbase  –hbase-create-table  –hbase-row-key  uid  –column-family  url

 

【说明】

sqoop  import–connect  jdbc:mysql://10.5.110.240/test
–username  lab1107

–password  lab1107

–table tb_user

–hbase-table  demo_2hbase

–hbase-create-table

–hbase-row-key  uid

–column-family  url
–table: MySql中表名
–hbase-table:Hbase中表明

–hbase-create-table:没有表的话,创建

–hbase-row-key:MySQL中的主键名

–column-family:Hbase中的列族名

4.6 将Oracle数据导入Hbase中

sqoop  import  –connect  jdbc:oracle:thin:@10.5.110.238:1521:big  –username  big   –password  big  –m  1  –table  TD_PRODUCT  –columns  PID,PNAME,RECDATE  –hbase-create-table  –hbase-table  product  –hbase-row-key  PID  –column-family  depinfo

【说明】
sqoop  import–connect  jdbc:oracle:thin:@10.5.110.238:1521:big
–username  big

–password  big

–m  1

–table  TD_PRODUCT

–columns  PID,PNAME,RECDATE

–hbase-create-table

–hbase-table  product

–hbase-row-key  PID

–column-family  depinfo
 连接的数据库:端口:数据库名-m:并行执行sqoop导入程序的map task的数量,在不指定的情况下默认启动4个map,此处指定1个
–hbase-row-key:如果不指定则采用源表的key作为hbase的row key。可以指定一个字段作为row key,或者指定组合行键,当指定组合行键时,用双引号包含多个字段,各字段用逗号分隔

 

注意几个坑:

1.Oracle的表名必须大写(–table CMS_NEWS_0625) ;
2.用户名必须大写字母( –username ZHAOBIAO);
3.组合行键参数中的字段名都必须大写(–hbase-row-key “CREATE_TIME,PUBLISH_TIME,TITLE”);
4.作为组合行键的几个字段都不能有null值,否则会报错,请执行该语句前先确认;
5.sqoop不会导入值为null的字段。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Sqoop简介及安装部署
Apache Sqoop是专为Apache Hadoop和结构化数据存储如关系数据库之间的数据转换工具的有效工具。你可以使用Sqoop从外部结构化数据存储的数据导入到Hadoop分布式文件系统或相关系统如Hive和HBase。相反,Sqoop可以用来从Hadoop的数据提取和导出到外部结构化数据存储如关系数据库和企业数据仓库。 Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
52 0
[Sqoop]Sqoop安装与部署
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/52757310 1.
1123 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载