91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sqoop工具的安裝和部署

發布時間:2020-05-28 14:28:44 來源:億速云 閱讀:315 作者:鴿子 欄目:系統運維

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工具的安裝和部署

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东平县| 朝阳市| 茌平县| 盘山县| 罗平县| 东辽县| 祁门县| 资阳市| 水城县| 宁乡县| 会昌县| 辽中县| 固阳县| 台北县| 镇康县| 莱阳市| 武清区| 吉隆县| 阳朔县| 新民市| 阳山县| 海盐县| 阳春市| 肃宁县| 肇庆市| 会宁县| 德格县| 舟山市| 龙游县| 喀喇沁旗| 丁青县| 麻栗坡县| 泾源县| 青海省| 石城县| 颍上县| 海伦市| 五家渠市| 伊通| 大足县| 淮安市|