温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何进行sqoop部署

发布时间:2021-09-26 15:35:57 来源:亿速云 阅读:187 作者:柒染 栏目:系统运维

本篇文章为大家展示了如何进行sqoop部署,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

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部署

上述内容就是如何进行sqoop部署,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI