sqoop工具的安装和部署
admin
2023-02-03 20:01:05
0

Sqoop介绍

Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。

1.sqoop下载

https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/

2.sqoop上传到服务器 并解压到相应的目录

sqoop工具的安装和部署

3.修改sqoop的配置文件

sqoop工具的安装和部署

4.修改配置文件

sqoop工具的安装和部署

5.拷贝sqoop需要的mysql 数据库驱动

cp   /home/nflow/servers/hive/lib/mysql-connector-java-5.1.26-bin.jar   /home/nflow/servers/sqoop-1.4.7/lib/

6.启动sqoop测试 (可以看出连接数据库了)

sqoop工具的安装和部署

./sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root --password 123456

7.sqoop导入数据

  从博主拿过来的sql  

drop database if exists userdb;
create database userdb;
use userdb;
drop table if exists emp;
drop table if exists emp_add;
drop table if exists emp_conn;
 
CREATE TABLE emp(
id INT NOT NULL,
name VARCHAR(100),
deg VARCHAR(100),
salary BIGINT,
dept VARCHAR(50)
);
 
CREATE TABLE emp_add(
id INT NOT NULL,
hno VARCHAR(50),
street VARCHAR(50),
city VARCHAR(50)
);
 
CREATE TABLE emp_conn(
id INT NOT NULL,
phno VARCHAR(50),
email VARCHAR(50)
);
 
insert into emp values(1201,'gopal','manager','50000','TP');
insert into emp values(1202,'manisha','Proof reader','50000','TP');
insert into emp values(1203,'khalil','php dev','30000','AC');
insert into emp values(1204,'prasanth','php dev','30000','AC');
insert into emp values(1205,'kranthi','admin','20000','TP');
 
insert into emp_add values(1201,'288A','vgiri','jublee');
insert into emp_add values(1202,'108I','aoc','sec-bad');
insert into emp_add values(1203,'144Z','pgutta','hyd');
insert into emp_add values(1204,'78B','old city','sec-bad');
insert into emp_add values(1205,'720X','hitec','sec-bad');
 
insert into emp_conn values(1201,'2356742','gopal@tp.com');
insert into emp_conn values(1202,'1661663','manisha@tp.com');
insert into emp_conn values(1203,'8887776','khalil@ac.com');
insert into emp_conn values(1204,'9988774','prasanth@ac.com');
insert into emp_conn values(1205,'1231231','kranthi@tp.com');
————————————————
####感谢此博主   版权为别人的版权  我只是试用下  版权声明:本文为CSDN博主「记录每一份笔记」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yumingzhu1/article/details/80678525

从mysql 到 hdfs

#/bin/bash
./bin/sqoop import   \
--connect  jdbc:mysql://192.168.249.10:3306/userdb \
--username root  \
--password 123456   \
--table emp   \
--m 1
[nflow@hadoop-master1 sqoop-1.4.7]$ pwd
/home/nflow/servers/sqoop-1.4.7
[nflow@hadoop-master1 sqoop-1.4.7]$ 

默认导出的位置为 /usr/用户/表名          数据库不能用localhost或者127.0.0.1  不然会报错 必须要用IP地址

sqoop工具的安装和部署

sqoop工具的安装和部署sqoop工具的安装和部署

HDFS 目录下次在导入不能重复

重新修改脚本如下 这样每次都可以生成新的

sqoop工具的安装和部署

sqoop工具的安装和部署



mysql数据导入到hive里面

数据库数据

sqoop工具的安装和部署

./sqoop import \
--connect jdbc:mysql://192.168.249.10:3306/userdb \     ##userdb
--username admin \              #数据库admin用户
--password 123456 \             #数据库admin用户的密码
--table emp_add \             #数据库admin里面的emp_add表
--delete-target-dir \         #每次删除
--num-mappers 1 \              ##mapreduce 进程个数
--hive-import \               ##指定hive
--hive-database default \     ##hive的默认数据库
--hive-table empadd \           ##hive里面 default 数据的表名称
--fields-terminated-by '\t'     ###换行

 sqoop工具的安装和部署


sqoop工具的安装和部署

sqoop再次导入同一张表测试 测试结果为 如果数据库有新增的数据 那么hive将会也会拿过来,导致重复 如下图,如何避免这个问题呢  sqoop的增量同步

sqoop工具的安装和部署


#######sqoop增量同步到hive

id大于1207 的会同步 不会导致重复

./sqoop import \
--connect jdbc:mysql://192.168.249.10:3306/userdb \
--username admin \
--password 123456 \
--table emp_add \
--num-mappers 1 \
--hive-import \
--hive-database default \
--hive-table empadd \
--fields-terminated-by '\t' \
--incremental append \
--check-column id  \
--last-value 1207



sqoop工具的安装和部署

相关内容

热门资讯

玩家分享攻略“白金岛二七王怎么... 玩家分享攻略“白金岛二七王怎么装挂?”(其实是有挂)您好,白金岛二七王这个游戏其实有挂的,确实是有挂...
玩家分享攻略“蜀山四川麻将有挂... 有 亲,根据资深记者爆料蜀山四川麻将是可以开挂的,确实有挂(咨询软件无需...
今日重大消息“微乐贵阳麻将可以... 网上科普关于“微乐贵阳麻将有没有挂”话题很是火热,小编也是针对微乐贵阳麻将作*弊开挂的方法以及开挂对...
瑞士酒吧火灾已致约40人丧生,... 瑞士酒吧火灾约40人丧生,暂无中国公民伤亡消息瑞士南部瓦莱州警方1日证实,该州阿尔卑斯山区滑雪胜地克...
今日重大消息“边锋二七十开挂神... 有 亲,根据资深记者爆料边锋二七十是可以开挂的,确实有挂(咨询软件无需打...
今日重磅消息“衣兆丰悦怎么开挂... 家人们!今天小编来为大家解答衣兆丰悦透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
重磅消息“海阔麻将可以开挂吗?... 您好:海阔麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
康家绿能取得分体式电池柜大电流... 国家知识产权局信息显示,深圳市康家绿能科技有限公司取得一项名为“一种分体式电池柜的大电流充放电路”的...
玩家最新攻略“新皇豪炸/金/花... 玩家最新攻略“新皇豪炸/金/花究竟有挂吗?”(太坑了果然有挂)您好,新皇豪炸/金/花这个游戏其实有挂...
终于懂了“哈灵斗地主是不是有挂... 终于懂了“哈灵斗地主是不是有挂?”(外卦神器下载)您好,哈灵斗地主这个游戏其实有挂的,确实是有挂的,...