Sqoop的那些事

Sqoop的安装
该项目位置:http://sqoop.apache.org/
下载之后直接解压就好了,安装超级简单。
配置:
进入conf目录,cp sqoop-env-template.sh sqoop-env.sh

HADOOP_COMMON_HOME=**

HADOOP_MAPRED_HOME=**

这个配置我就不多说了,大家都懂。
然后进入bin输入sqoop-help
检查是否成功安装了

到数据之前还要将mysql的连接jar包拷贝到sqoop/lib不要忘了

Sqoop连接器
sqoop拥有一个可扩展的框架,使得他能够从(向)任何支持批量数据传输的外部存储系统导入(导出)数据。sqoop可以连接到大多数的关系型数据库,比如mysql、Oracle、sql server和DB2等。同时还有一个jdbc连接器,用于连接支持jdbc协议的数据库。
Sqoop数据的导入
这个导入说的是将关系型数据库导入的hdfs中
很简单,在Mysql中创建一张表
mysql> create table mysql_test(id int,name carchar(20));
插入一条数据
mysql> insert into mysql_test values (1,’wangwu’);
Query OK, 1 row affected (0.00 sec)
sqoop的import
[root@hadoop-yarn ~]# sqoop import –connect jdbc:mysql://localhost/test –table mysql_test -m 1

/Sqoop在import时,需要制定split-by参数。Sqoop根据不同的split-by参数值来进行切分,然后将切分出来的区域分配到不同map中。每个map中再处理数据库中获取的一行一行的值,写入到HDFS中。同时split-by根据不同的参数类型有不同的切分方法,如比较简单 的int型,Sqoop会取最大和最小split-by字段值,然后根据传入的num-mappers来确定划分几个区域。/

    sqoop的export

sqoop可以在hdfs/hive和关系行数据之间进行数据的导入导出,其中主要使用了import和export这两个工具
[root@hadoop-yarn ~]# sqoop export –connect jdbc:mysql://localhost:3306/jtdata –table hive_month -export-dir /apps/hive/warehouse/hive_month/00000_0 –input-fields-terminated-by

/* 注意:如果你的hive里面是分区表的话,你要是想得到所有的数据的话,select* 出新的hive表再倒入mysql中,直接导入的话会出错,因为分区列都是连在一起的,比如你有三个分区啊a,b,c 那样select * 出来的结果是abc只有一个列,所以要用上fields-terminated-by”*/

这是两个导入导出的例子:
将关系型数据的表结构复制到hive中
sqoop create-hive-table –connect jdbc:mysql://192.168.174.91:3306/hs_test –table hs –username yy –password 123 –hive-table test

从关系数据库导入文件到hive中
sqoop import –connect jdbc:mysql://192.168.174.91:3306/hs_test –username yy –password 123 –table hs –hive-import -m 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值