sqoop数据ETL工具初探

研究背景最近实习项目需要使用到kylin建立数据立方体,kylin是一个基于hive的OLAP系统,主要功能是可以通过预计算的方式将存储在hdfs上的文件设定为多维立方体缓存到HBase中,将需要的查询结果作为数据立方体预先存储在hbase中,是一种以空间换时间的快速查询方法。甲方公司目前使用的是mysql存储数据,并且数据会定期删除。目前需要考虑使用工具将mysql中的数据导入到Hive中,...
摘要由CSDN通过智能技术生成

研究背景

最近实习项目需要使用到kylin建立数据立方体,kylin是一个基于hive的OLAP系统,主要功能是可以通过预计算的方式将存储在hdfs上的文件设定为多维立方体缓存到HBase中,将需要的查询结果作为数据立方体预先存储在hbase中,是一种以空间换时间的快速查询方法。
甲方公司目前使用的是mysql存储数据,并且数据会定期删除。目前需要考虑使用工具将mysql中的数据导入到Hive中,同时考虑到数据定期删除,还需要设置定时任务以及增量导入等问题。

sqoop介绍

概念

sqoop是一款apache旗下的“hadoop和关系型数据库数据传输”工具。主要功能涉及mysql,Oracle数据导入到HDFS、Hive、Hbase等数据存储系统。简单来说,是一个命令行工具,使用java语言编写,源码使用ant编译。

工作机制

本质上,sqoop是将sql查询结果转换为MR程序存储至HDFS。

安装步骤

1、官网下载sqoop
http://sqoop.apache.org/
目前只有sqoop1 版本支持直接将mysql、Oracle数据导入hive。
sqoop2中仅支持将关系型数据库中的数据上传至hdfs,再由hive等命令将hdfs上的文件load进入hive中。
所以目前我们仍然使用旧版本的sqoop
2、解压后修改sqoop-env.sh文件

export HADOOP_COMMON_HOME=/home/hadoop/apps/hadoop-2.7.5

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/hadoop/apps/hadoop-2.7.5

#set the path to where bin/hbase is available
export HBASE_HOME=/home/hadoop/apps/hbase-1.2.6

#Set the path to where bin/hive is available
export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.3-bin

#Set the path for where zookeper config dir is
export ZOOCFGDIR=/home/hadoop/apps/zookeeper-3.4.10/conf

3、sqoop/lib目录下加入mysql驱动包
这里我们使用mysql5.1-connect-jdbc.jar

4、配置系统环境变量

#Sqoop
export SQOOP_HOME=/home/hadoop/apps/sqoop-1.4.7
export PATH=$PATH:$SQOOP_HOME/bin

5、验证安装是否成功
sqoop-version
由于此处是我自行编译生成的,所以会有乱码,但不影响使用

Sqoop基本命令

由于我需要使用sqoop将mysql的数据导入到hive中,所以我主要使用的命令为sqoop -import

将mysql表导入hive(主要命令列举)
单个维度分区
sqoop import  \
--connect jdbc:mysql://hadoop-master:3306/mysql-hive  \
--username root  \
--password gzudb604  \
--table mysql_hive_te
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值