Sqoop是一个用来将Hadoop(Hive、HBase)和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。

Sqoop安装

1、下载Sqoop安装包

在Sqoop官网下载安装包,本次使用的是sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz安装在/usr/local目录下,下载地址为http://apache.fayea.com/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

2、解压Sqoop安装包

1 #进入sqoop安装目录
2 [hadoop@BigData ~]$ cd /usr/local
3 #解压sqoop安装包
4 [hadoop@BigData ~]$ tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
5 #删除sqoop安装包
6 [hadoop@BigData ~]$ rm -rf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
7 #重命名sqoop目录名
8 [hadoop@BigData ~]$ mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

3、配置Sqoop环境变量

1 #配置Sqoop环境变量
2 [root@BigData ~]# vi /etc/profile
3 export SQOOP_HOME=/usr/local/sqoop
4 export PATH=$PATH:$SQOOP_HOME/bin
5 #使环境变量配置生效
6 [root@BigData ~]#/etc/profile

4、将关系型数据库驱动包放到sqoop/lib目录下

MySql:mysql-connector-java-5.1.30.jar
Oracle:ojdbc14.jar

5、修改Sqoop配置文件

 1 [hadoop@BigData ~]$ mv sqoop-env-template.sh sqoop-env.sh
 2 [hadoop@BigData ~]$ vi sqoop-env.sh
 3 #Set path to where bin/hadoop is available
 4 export HADOOP_COMMON_HOME=/usr/local/hadoop
 5 #Set path to where hadoop-*-core.jar is available
 6 export HADOOP_MAPRED_HOME=/usr/local/hadoop
 7 #set the path to where bin/hbase is available
 8 export HBASE_HOME=/usr/local/hbase
 9 #Set the path to where bin/hive is available
10 export HIVE_HOME=/usr/local/hive
11 #Set the path for where zookeper config dir is
12 export ZOOCFGDIR=/usr/local/zookeeper

到此,sqoop环境就已搭建成功!

Sqoop测试

1、导入MySql数据到hdfs中

mysql数据库中sqoop库中出来test表,表结构及数据如下所示:
id username gender telephone email
1 test_01 Female 138xxxx0903 test_01@example.com
2 test_02 Male 187xxxx9364 test_02@example.com
该命令执行结束后,观察hdfs的目录/user/{USER_NAME},下面会有一个文件夹是test,里面有个文件是part-m-00000。该文件的内容就是数据表aa的内容,字段之间是使用制表符分割的。

2、hdfs导出数据到mysql

把上一步导入到hdfs的数据导出到mysql中。我们已知该文件使用制表符分隔的。那么,我们现在数据库sqoop中创建一个数据表hive,其表结构和test表结构一样。然后执行下面的命令
1 [hadoop@BigData ~]$sqoop export --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table hive --export-dir '/user/hadoop/test/part-m-00000'--fields-terminated-by '\t'

参数解释:

参数 解释
sqoop sqoop命令
export 导出操作
--connect jdbc:mysql://ip:3306/sqoop 连接mysql的url
--username 连接mysql的用户名
--password 连接mysql的密码
--table mysql中的表,即将被导入的表名称
--export-dir hive中被导出的文件
--fields-terminated-by 指定输出文件中的行的字段分隔符
查看sqoop库中的hive表中是否已经有两条数据

id username gender telephone email
1 test_01 Female 138xxxx0903 test_01@example.com
2 test_02 Male 187xxxx9364 test_02@example.com

3、Mysql数据导入到Hive

比如把表test数据导入到Hive中,增加参数 –hive-import
1 [hadoop@BigData ~]$ sqoop import --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table test --warehouse-dir /usr/local/hive/warehouse --hive-import --create-hive-table

进入Hive Client验证导入的数据:

1 [hadoop@BigData bin]$ hive client
2 hive> show tables;
3 user_information
4 test
5 login_log
6 hive> select * from test;
7 1   test_01 Female  138xxxx0903 test_01@example.com
8 2   test_02 Male    187xxxx9364 test_02@example.com

4、Mysql数据导入到Hbase

把表test数据导入到HBase,指定Hbase中表名为demo_sqoop2hbase的命令

1 [hadoop@BigData ~]$ sqoop  import --connect jdbc:mysql://localhost:3306/sqoop --username root --password root --table test --hbase-table demo_sqoop2hbase --hbase-create-table --hbase-row-key id --column-family url

hbase shell中验证导入的数据:

1 [hadoop@BigData bin]$ hbase shell
2 hbase(main):009:0>list
3 demo_sqoop2hbase

转载于:https://www.cnblogs.com/yinghun/p/6221335.html

CentOS搭建Sqoop环境相关推荐

  1. linux环境testlink搭建,centos搭建testlink环境

    下载testlink 访问官网: http://www.testlink.org/ , 点击 Get it from sourceforge,会自动下载testlink包. 查看安装要求 每个版本的t ...

  2. 基于centos 搭建 LAMP 环境,建立WordPress站点

    注意: 本教程使用Mariadb代替MySQL 所有的标点符号均为 英文半角字符! 开始之前先配置防火墙放行80端口, 并且关闭centos系统的selinux 除非你想去折腾写selinux策略! ...

  3. aws php环境,AWS/CENTOS搭建LAMP环境

    如前述,我在AWS上使用的是Amazon自己的ami,Amazon Linux Ami基于CentOS,因此大部分操作都与CentOS差不多,作为一个菜鸟,将安装过程与大家分享,希望能帮到那些之前和我 ...

  4. centos搭建ftp环境

    vsftpd作为FTP服务器,在Linux系统中是非常常用的.下面我们介绍如何在centos系统上安装vsftp. 什么是vsftpd vsftpd 是"very secure FTP da ...

  5. centos php 局域网访问,CentOS8安装搭建php环境

    CentOS8安装搭建php环境 1.简介 PHP是最常用的服务器端编程语言之一. 许多流行的CMS和框架(例如WordPress,Magento和Laravel)都是用PHP构建的. CentOS ...

  6. Linux学习之CentOS(七)--CentOS下j2ee环境搭建

    因为是做j2ee后台开发的,所以在Linux上搭建j2ee环境是每一个java程序员所需要掌握的.所以这篇随笔主要记录一下j2ee环境搭建过程,包括jdk.tomcat.eclipse的安装,(对于m ...

  7. centos 6.5 搭建lnmp环境

    centos 6.5 搭建lnmp环境 建议安装顺序: mysql------->>编译php---->>编译nginx 最麻烦:编译php出各种错. 最简单:mysql 软件 ...

  8. centos php服务器搭建教程,CentOS搭建PHP服务器环境简明教程

    本文实例讲述了CentOS搭建PHP服务器环境的方法.分享给大家供大家参考,具体如下: 1. 先安装apache: yum install httpd 配置ServerName vi /etc/htt ...

  9. 腾讯云服务器CVM(CentOS 7、Tencent Linux)手动搭建LNMP环境(linux+Nginx+Mariadb+PHP)

    手动搭建云服务器运行环境就是喜欢折腾,如果觉得麻烦的网友可以使用LNMP镜像直接启动CVM实例,以便快速建站. 腾讯云服务器CVM(CentOS 7.Tencent Linux)手动搭建LNMP环境( ...

最新文章

  1. 安装View Agent失败: The system must be rebooted before installation can continue
  2. 聊聊MyBatis缓存机制
  3. solr索引服务器的配置和solrj集成开发总结
  4. Button.setOnClickListener(OnClickListener l) 原理
  5. asp.net mvc 重定向
  6. 让代码自动补全的全套流程
  7. postgresql 修改字段名称
  8. 基于Qt的光盘刻录开发
  9. linux ssh Unused,安装openssh-portable时遇到的问题及解决办法
  10. uFrame近况(2016年4月8日更新)
  11. windows安装ffmpeg_免费实用的录屏工具!支持全屏、特定窗口、选定区域录制,支持添加水印、嵌入摄像头(附ffmpeg安装)...
  12. 何时、何地应用何种窗函数?
  13. EtherCAT基于SOEM建立主站程序
  14. ERP原理及应用教程-第三章
  15. 蓝桥杯 带分数 By Assassin
  16. SQLite 对时间的支持
  17. Unity学习笔记1 简易2D横版RPG游戏制作(一)
  18. Oracle ORA-01460报错解决方法
  19. js中获取元素对象的四种方式
  20. 查找您的 D-U-N-S 编号 - 注册 - Apple Developer

热门文章

  1. php实现姓名按首字母排序的类与方法
  2. C++类指针类型的成员变量的浅复制与深复制
  3. shell sort
  4. vscode 使用笔记
  5. ASP.NET repeater添加序号列的方法
  6. C++二维数组做形参
  7. Hibernate的事件机制
  8. Ajax 的乱码问题(2)
  9. 基于wemos D1的无线遥控灯(433m无线模块)
  10. python leetcode_leetcode 刷题经验,主力 python