我是靠谱客的博主 寒冷口红,最近开发中收集的这篇文章主要介绍Sqoop的使用案例教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Sqoop的简单使用案例

导入数据

sqoop 做数据迁移: 数据导入, 数据导出
import : 从关系型数据库导入到HDFS HIVE HBASE
export : 从 HDFS HIVE 导出到mysql 里. 与命令的顺序无关.
在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。
1.1、RDBMS到HDFS

  1. 确定Mysql服务开启正常
  2. 在Mysql中新建一张表并插入一些数据
$ mysql -uroot -p123456
mysql> create database company;
mysql> create table company.staff(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
mysql> insert into company.staff(name, sex) values('Thomas', 'Male');
mysql> insert into company.staff(name, sex) values('Catalina', 'FeMale');
  1. 导入数据
    (1)全部导入
$ bin/sqoop import 
--connect jdbc:mysql://master:3306/company 
--username root 
--password 123456 
--table staff 
--target-dir /user/company 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t"
(2)查询导入
$ bin/sqoop import 
--connect jdbc:mysql://master:3306/company 
--username root 
--password 123456 
--target-dir /user/company 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t" 
--query 'select name,sex from staff where id <=1 and $CONDITIONS;'
(3)导入指定列
$ bin/sqoop import 
--connect jdbc:mysql://master:3306/company 
--username root 
--password 123456 
--target-dir /user/company 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t" 
--columns id,sex 
--table staff
(4)使用sqoop关键字筛选查询导入数据
$ bin/sqoop import 
--connect jdbc:mysql://master:3306/stu 
--username root 
--password 123456 
--target-dir /user/company 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "t" 
--table staff 
--where "id=1"

1.2、RDBMS到Hive

$ bin/sqoop import 
--connect jdbc:mysql://master:3306/company 
--username root 
--password 123456 
--table staff 
--num-mappers 1 
--hive-import 
--fields-terminated-by "t" 
--hive-overwrite 
--hive-table staff_hive

2、导出数据
在Sqoop中,“导出”概念指:从大数据集群(HDFS,HIVE,HBASE)向非大数据集群(RDBMS)中传输数据,叫做:导出,即使用export关键字。
2.1、HIVE/HDFS到RDBMS

$ bin/sqoop export 
--connect jdbc:mysql://master:3306/company 
--username root 
--password 123456 
--table staff 
--num-mappers 1 
--export-dir /user/hive/warehouse/staff_hive 
--input-fields-terminated-by "t"

Mysql中如果表不存在,不会自动创建

最后

以上就是寒冷口红为你收集整理的Sqoop的使用案例教程的全部内容,希望文章能够帮你解决Sqoop的使用案例教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部