最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Sqoop的安裝與使用詳細(xì)教程

 更新時(shí)間:2021年04月12日 11:46:43   作者:象在舞  
Sqoop是一款開源的工具,主要用于在Hadoop與傳統(tǒng)數(shù)據(jù)庫間進(jìn)行數(shù)據(jù)的傳遞,這篇文章主要介紹了Sqoop的安裝與使用詳細(xì)教程,需要的朋友可以參考下

本文我們介紹一個(gè)非常好用的數(shù)據(jù)傳輸工具——Sqoop。Sqoop是一款開源的工具,主要用于在Hadoop與傳統(tǒng)數(shù)據(jù)庫間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(例如:MySQL,Oracle,Postgres等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫中。Sqoop項(xiàng)目開始于2009年,最早是作為Hadoop的一個(gè)第三方模塊存在,后來為了讓使用者能夠快速部署,也為了讓開發(fā)人員能夠更快速的迭代開發(fā),Sqoop獨(dú)立成為一個(gè)Apache項(xiàng)目。關(guān)注專欄《破繭成蝶——大數(shù)據(jù)篇》,查看更多相關(guān)的內(nèi)容~

一、Sqoop的安裝

1.1 下載上傳安裝包

1、首先下載安裝包,點(diǎn)擊此處進(jìn)行下載。

2、將下載的安裝包上傳到集群中,解壓到相關(guān)目錄并重命名。

tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C ../modules/

mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop

1.2 修改配置文件

1、首先重命名sqoop-env-template.sh文件

[root@master conf]# mv sqoop-env-template.sh sqoop-env.sh

2、在sqoop-env.sh中添加各組件的路徑

export HADOOP_COMMON_HOME=/opt/modules/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/modules/hadoop-2.7.2
export HIVE_HOME=/opt/modules/hive
export ZOOKEEPER_HOME=/opt/modules/zookeeper-3.4.10
export ZOOCFGDIR=/opt/modules/zookeeper-3.4.10
export HBASE_HOME=/opt/modules/hbase

1.3 拷貝JDBC驅(qū)動(dòng)

拷貝MySQL的驅(qū)動(dòng)包到Sqoop的lib目錄下:

[root@master software]# cp ./mysql-connector-java-5.1.47.jar /opt/modules/sqoop/lib/

1.4 驗(yàn)證Sqoop是否安裝成功

bin/sqoop help

出現(xiàn)上圖的內(nèi)容說明安裝成功。

二、Sqoop的導(dǎo)入導(dǎo)出

2.1 測(cè)試連接數(shù)據(jù)庫

bin/sqoop list-databases --connect jdbc:mysql://master:3306/ --username root --password p@ssw0rd

2.2 MySQL導(dǎo)入數(shù)據(jù)到HDFS

1、首先在MySQL數(shù)據(jù)庫(xzw)中新建一張people表,如下所示:

create table people(id int(4) primary key not null auto_increment, name varchar(255), sex varchar(255));
insert into people(name, sex) values('xzw', 'Male');
insert into people(name, sex) values('fq', 'FeMale');

2、全量導(dǎo)入

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by ","

使用如下命令查看導(dǎo)入的結(jié)果:

3、查詢導(dǎo)入

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--query 'select name,sex from people where id <=1 and $CONDITIONS;'

查看導(dǎo)入結(jié)果:

這里需要注意的是,如果query后使用的是雙引號(hào),則$CONDITIONS前必須加轉(zhuǎn)義符\,防止shell識(shí)別為自己的變量。如果使用的是單引號(hào),則不需要加。

4、導(dǎo)入指定列

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--columns id,sex \
--table people

查看結(jié)果:

這里需要注意的是,columns中如果涉及到多列,用逗號(hào)分隔,分隔時(shí)不要添加空格。

5、使用sqoop關(guān)鍵字篩選查詢導(dǎo)入數(shù)據(jù)

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--target-dir /user/sqoop/people \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "," \
--table people \
--where "id=1"

查看結(jié)果:

2.3 MySQL導(dǎo)入數(shù)據(jù)到Hive

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "," \
--hive-overwrite \
--hive-table hive_people

該過程分為兩步,第一步將數(shù)據(jù)導(dǎo)入到HDFS,第二步將導(dǎo)入到HDFS的數(shù)據(jù)遷移到Hive倉(cāng)庫。這里需要注意的是,Hive中的表不需要提前創(chuàng)建,Sqoop會(huì)在導(dǎo)數(shù)據(jù)的過程中自動(dòng)創(chuàng)建表。

2.4 MySQL導(dǎo)入數(shù)據(jù)到HBase

bin/sqoop import \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--columns "id,name,sex" \
--column-family "info" \
--hbase-create-table \
--hbase-row-key "id" \
--hbase-table "hbase_people" \
--num-mappers 1 \
--split-by id

這里需要注意的是,需要提前將HBase表建好:

create 'hbase_people','info'

2.5 HDFS導(dǎo)出數(shù)據(jù)到MySQL

bin/sqoop export \
--connect jdbc:mysql://master:3306/xzw \
--username root \
--password p@ssw0rd \
--table people \
--num-mappers 1 \
--export-dir /user/sqoop/people \
--input-fields-terminated-by ","

這里需要注意的是,如果MySQL中不存在表,不會(huì)自動(dòng)創(chuàng)建,簡(jiǎn)言之就是在執(zhí)行導(dǎo)出之前需要在MySQL中創(chuàng)建好表。

三、Sqoop腳本打包

我們使用opt格式的文件打包Sqoop命令,然后執(zhí)行,具體如下。

首先在Sqoop的安裝目錄新建目錄opt,并編寫腳本如下:

export
--connect
jdbc:mysql://master:3306/xzw
--username
root
--password
p@ssw0rd
--table
people
--num-mappers
1
--export-dir
/user/sqoop/people
--input-fields-terminated-by
","

然后使用如下命令執(zhí)行腳本:

bin/sqoop --options-file opt/HDFSToMySQL.opt

到此這篇關(guān)于Sqoop的安裝與使用詳細(xì)教程的文章就介紹到這了,更多相關(guān)Sqoop安裝與使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

到此這篇關(guān)于Sqoop的安裝與使用詳細(xì)教程的文章就介紹到這了,更多相關(guān)Sqoop安裝與使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Hbuilder連遠(yuǎn)程接服務(wù)器上傳代碼的圖文教程

    Hbuilder連遠(yuǎn)程接服務(wù)器上傳代碼的圖文教程

    下面小編就為大家分享一篇Hbuilder連遠(yuǎn)程接服務(wù)器上傳代碼的圖文教程,具有很好的參考價(jià)值,一起跟隨小編過來看看吧,希望對(duì)大家有所幫助
    2017-11-11
  • HTTP中ETag語法及使用實(shí)戰(zhàn)詳解

    HTTP中ETag語法及使用實(shí)戰(zhàn)詳解

    這篇文章主要為大家介紹了HTTP中ETag語法及使用實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • git merge --ff/--no-ff/--ff-only 三種選項(xiàng)參數(shù)的區(qū)別解析

    git merge --ff/--no-ff/--ff-only 三種選項(xiàng)參數(shù)的區(qū)別解析

    這篇文章主要介紹了git merge --ff/--no-ff/--ff-only 三種選項(xiàng)參數(shù)的區(qū)別解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • TCP 四種定時(shí)器(重傳定時(shí)器,堅(jiān)持計(jì)時(shí)器,保活定時(shí)器,時(shí)間等待計(jì)時(shí)器)

    TCP 四種定時(shí)器(重傳定時(shí)器,堅(jiān)持計(jì)時(shí)器,?;疃〞r(shí)器,時(shí)間等待計(jì)時(shí)器)

    這篇文章主要介紹了TCP 四種定時(shí)器,重傳定時(shí)器,堅(jiān)持計(jì)時(shí)器,?;疃〞r(shí)器,時(shí)間等待計(jì)時(shí)器的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 漫談架構(gòu)之微服務(wù)

    漫談架構(gòu)之微服務(wù)

    微服務(wù)的架構(gòu)出現(xiàn)已經(jīng)很久很久了,微服務(wù)架構(gòu)就是一種將單個(gè)應(yīng)用程序轉(zhuǎn)換為一組小服務(wù)的方法,每個(gè)小服務(wù)都在自己的進(jìn)程中運(yùn)行,并使用輕量級(jí)的交互方式(如HTTP)進(jìn)行通信
    2021-06-06
  • 在VScode上使用latex編輯pdf的方法

    在VScode上使用latex編輯pdf的方法

    這篇文章主要介紹了在VScode上使用latex編輯pdf的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • java與c#的區(qū)別、兩者有什么不同?

    java與c#的區(qū)別、兩者有什么不同?

    Java和C#都是一門面向?qū)ο蟮恼Z言,Java更多地借鑒了C++的優(yōu)點(diǎn),而摒棄了它的一些不太容易被人掌握的知識(shí)點(diǎn)(有些不能說是缺點(diǎn)),并且增加了一些自己的特點(diǎn),而C#則是更多地借鑒了Java的優(yōu)點(diǎn),而增加了一些自己的特點(diǎn)
    2013-04-04
  • H5混合開發(fā)手機(jī)Web App入門:概念篇

    H5混合開發(fā)手機(jī)Web App入門:概念篇

    如果你開始學(xué)習(xí)手機(jī) App 開發(fā),就一定會(huì)聽到 H5 這個(gè)詞。它是目前的主流開發(fā)技術(shù)之一,容易上手,開發(fā)周期短、成本低、兼容傳統(tǒng) Web 開發(fā)。但是,很少有文章詳細(xì)介紹,H5 到底是什么技術(shù),有什么原理,跟其他技術(shù)的差異在哪里。
    2022-12-12
  • Scala函數(shù)式編程專題--scala基礎(chǔ)語法介紹

    Scala函數(shù)式編程專題--scala基礎(chǔ)語法介紹

    這篇文章主要介紹了scala基礎(chǔ)語法的的相關(guān)資料,文中講解非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 深入分析java與C#底層控制能力區(qū)別及示例詳解

    深入分析java與C#底層控制能力區(qū)別及示例詳解

    這篇文章主要為大家深入分析java與C#底層控制能力不同的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11

最新評(píng)論

阜新市| 东至县| 徐水县| 民丰县| 秦安县| 青河县| 柳河县| 德化县| 永福县| 江津市| 锡林郭勒盟| 定襄县| 武宁县| 金湖县| 甘谷县| 项城市| 化德县| 大兴区| 体育| 巴南区| 青河县| 大同县| 蒙山县| 三明市| 临颍县| 清徐县| 定州市| 武平县| 呼和浩特市| 武川县| 亚东县| 衡山县| 融水| 黎平县| 静乐县| 廉江市| 平原县| 连平县| 巫溪县| 永昌县| 永靖县|