溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行sqoop部署

發(fā)布時(shí)間:2021-09-26 15:35:57 來源:億速云 閱讀:146 作者:柒染 欄目:系統(tǒng)運(yùn)維

本篇文章為大家展示了如何進(jìn)行sqoop部署,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

1.sqoop下載

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

2.sqoop上傳到服務(wù)器 并解壓到相應(yīng)的目錄

如何進(jìn)行sqoop部署

3.修改sqoop的配置文件

如何進(jìn)行sqoop部署

4.修改配置文件

如何進(jìn)行sqoop部署

5.拷貝sqoop需要的mysql 數(shù)據(jù)庫(kù)驅(qū)動(dòng)

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

6.啟動(dòng)sqoop測(cè)試 (可以看出連接數(shù)據(jù)庫(kù)了)

如何進(jìn)行sqoop部署

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

7.sqoop導(dǎo)入數(shù)據(jù)

  從博主拿過來的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');
————————————————
####感謝此博主   版權(quán)為別人的版權(quán)  我只是試用下  版權(quán)聲明:本文為CSDN博主「記錄每一份筆記」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接: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]$ 

默認(rèn)導(dǎo)出的位置為 /usr/用戶/表名          數(shù)據(jù)庫(kù)不能用localhost或者127.0.0.1  不然會(huì)報(bào)錯(cuò) 必須要用IP地址

如何進(jìn)行sqoop部署

如何進(jìn)行sqoop部署如何進(jìn)行sqoop部署

HDFS 目錄下次在導(dǎo)入不能重復(fù)

重新修改腳本如下 這樣每次都可以生成新的

如何進(jìn)行sqoop部署

如何進(jìn)行sqoop部署

mysql數(shù)據(jù)導(dǎo)入到hive里面

數(shù)據(jù)庫(kù)數(shù)據(jù)

如何進(jìn)行sqoop部署

./sqoop import \
--connect jdbc:mysql://192.168.249.10:3306/userdb \     ##userdb
--username admin \              #數(shù)據(jù)庫(kù)admin用戶
--password 123456 \             #數(shù)據(jù)庫(kù)admin用戶的密碼
--table emp_add \             #數(shù)據(jù)庫(kù)admin里面的emp_add表
--delete-target-dir \         #每次刪除
--num-mappers 1 \              ##mapreduce 進(jìn)程個(gè)數(shù)
--hive-import \               ##指定hive
--hive-database default \     ##hive的默認(rèn)數(shù)據(jù)庫(kù)
--hive-table empadd \           ##hive里面 default 數(shù)據(jù)的表名稱
--fields-terminated-by '\t'     ###換行

 如何進(jìn)行sqoop部署

如何進(jìn)行sqoop部署

sqoop再次導(dǎo)入同一張表測(cè)試 測(cè)試結(jié)果為 如果數(shù)據(jù)庫(kù)有新增的數(shù)據(jù) 那么hive將會(huì)也會(huì)拿過來,導(dǎo)致重復(fù) 如下圖,如何避免這個(gè)問題呢  sqoop的增量同步

如何進(jìn)行sqoop部署

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

id大于1207 的會(huì)同步 不會(huì)導(dǎo)致重復(fù)

./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

如何進(jìn)行sqoop部署

上述內(nèi)容就是如何進(jìn)行sqoop部署,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI