Sqoop

            Sqoop
1、sqoop:是一个工具,主要用于导入导出,实现MySQL到Hadoop之间数据的转换

2、导入数据:从结构化数据(Mysql,oracle,db2,)导入到半结构化或非结构化hadoop中(HDFS、HIVE、HBASE)
3、导出数据:从haoop中将数据导出到关系数据库中MySql

总体作用:

            导入:MySQL------->HDFS                                                  导出:HDFS ------->MySQL 

                       MySQL------->Hive                                                               Hive ------->MySQL 

                       MySQL------->Hbase                                                            Hbase  ---…………---->MySQL(间接) 

4、导入数据:import
    (1)Mysql到HDFS中:直接导入

sqoop import \               
--connect jdbc:mysql://hadoop02:3306/mysql \
--username root \
--password root \
--table help_keyword \
-m 1


    (2)Mysql到hive中:会先将数据导入到HDFS中,然后再load进入hive中

sqoop import \
--connect jdbc:mysql://hadoop02:3306/mysql \
--username root \
--password root \
--table help_keyword \
--hive-import \
-m 1


    (3)Mysql到Hbase中:要先创建表,指定列簇(以其主键为行键,选取其中的一个字段为列簇)

sqoop import \
--connect jdbc:mysql://hadoop02:3306/mysql \
--username root \
--password root \
--table help_keyword \
--hbase-table new_help_keyword \
--column-family person \
--hbase-row-key help_keyword_id



5、导出数据:export
    (1)HDFS到Mysql中:首先在Mysql中创建表与HDFS中相吻合,再进行导出

create database sqoopdb default character set utf8 COLLATE utf8_general_ci;
//根据相应的数据格式创建对应的表格

use sqoopdb;

CREATE TABLE sqoopstudent (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(20),
sex VARCHAR(20),
age INT,
department VARCHAR(20)
)

sqoop export \
--connect jdbc:mysql://hadoop02:3306/sqoopdb \
--username root \
--password root \
--table sqoopstudent \
--export-dir /sqoopdata \
--fields-terminated-by ',


    (2)hive到Mysql中:首先在Mysql中创建表与hive中相吻合,再进行导出

sqoop export \
--connect jdbc:mysql://hadoop02:3306/sqoopdb \
--username root \
--password root \
--table uv_info \
--export-dir /user/hive/warehouse/uv/dt=2011-08-03 \
--input-fields-terminated-by '\t'

(3)Hbase到MySQL中

一般采用如下 3 种方法:
1、将 HBase 数据,扁平化成 HDFS 文件,然后再由 sqoop 导入
2、将 HBase 数据导入 Hive 表中,然后再导入 MySQL
3、直接使用 HBase 的 Java API 读取表数据,直接向 MySQL 导入,不需要使用 sqoop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值