Sqoop

Sqoop在大数据数据迁移与处理中的应用
本文围绕Sqoop展开,介绍其用于在Hadoop和关系数据库间高效传输批量数据。涵盖Flume数据采集、Sqoop数据迁移(如HDFS与MySQL间)、Azkaban任务调度等离线数据处理流程。还说明了Sqoop的安装部署步骤,以及import和export操作,包括数据导入导出命令和权限设置等。

sqoop
flume数据采集 采集日志数据
sqoop数据迁移 hdfs->mysql
azkaban任务调度 flume->hdfs->shell->hive->sql->BI
sqoop数据迁移=mapreduce
处理离线数据
整个过程就是数据导入处理导出过程
直接使用map
sqoop作用:简化开发
mysql->hdfs
mapreduce
sqoop!
概述:
Apache Sqoop(TM)是一种工具,用于在Apache Hadoop和结构化数据存储(如关
系数据库)之间高效传输批量数据 。数据迁移!
Sqoop于2012年3月成功从孵化器毕业,现在是一个顶级Apache项目: 更多信息
sqoop安装部署
1)下载
2)上传
3)解压
4)重命名
mv sqoop-env-template.sh sqoop-env.sh
5)添加配置信息
export HADOOP_COMMON_HOME=/root/hd/hadoop-2.8.4
export HADOOP_MAPRED_HOME=/root/hd/hadoop-2.8.4
export HIVE_HOME=/root/hd/hive
export ZOOCFGDIR=/root/hd/zookeeper-3.4.10/conf
6)启动查看版本号
bin/sqoop version
sqoop的import
import导入:mysql->hdfs
export导出:hdfs->mysql
mysql->hdfs操作:
1)导入mysql驱动到sqoop/lib下
2)命令操作
bin/sqoop import
--connect jdbc:mysql://hd-01:3306/sqoop
--username root
--password root
--table user
--target-dir /sqoop/datas
--num-mappers 1
--fields-terminated-by "\t"
注意:如果显示mysql的访问权限问题,需要设置mysql的用户权限:所在库 mysql库
的user表
update user set host='%' where host='localhost';
delete from user where Host='127.0.0.1';
delete from user where Host='hd-01';
delete from user where Host='::1';
flush privileges;
使用query对数据进行过滤:
bin/sqoop import
--connect jdbc:mysql://hd-01:3306/sqoop
--username root
--password root
--target-dir /sqoop/selectimport
--num-mappers 1
--fields-terminated-by "\t"
--query 'select * from user where id<=1 and $CONDITIONS'

转载于:https://www.cnblogs.com/jareny/p/10799677.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值