999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

使用Sqoop進行數據遷移

2022-09-07 12:00:38黃明輝
科教導刊·電子版 2022年20期
關鍵詞:指令數據庫

黃明輝

(湖北三峽職業(yè)技術學院電子信息學院,湖北 宜昌 443000)

1 概述

Sqoop是一種旨在有效地在ApacheHadoop和關系數據庫等結構化數據存儲之間傳輸大量數據的工具,結構化數據可以是MySQL、Oracle等RDBMS。Sqoop底層用MapReduce程序實現(xiàn)抽取、轉換、加載,MapReduce良好的特性保證了并行化和高容錯率,而且相比 Kettle等傳統(tǒng)ETL工具,任務運行在Hadoop集群上,減少了ETL服務器資源的使用情況。在特定場景上,抽取過程會有很大的性能提升。

可以使用Sqoop工具將數據從關系數據庫管理系統(tǒng)導入(import)到Hadoop分布式文件系統(tǒng)中,或者將Hadoop中數據轉換導出(export)關系數據庫管理系統(tǒng),其功能如圖1所示。

圖1 Sqoop功能

(1)導入原理。

在導入數據之前,Sqoop使用JDBC檢查導入的數據表,檢索出表的所有列以及列的SQL數據類型,并將這些SQL類型映射為Jave數據類型,在轉換后的MapReduce應用中使用這些對應的Jave類型來保存字段的值,Sqoop的代碼生成器使用這些信息來創(chuàng)建對應表的類,用于保存從表中抽取的記錄。

(2)導出原理。

在導出數據之前,Sqoop會根據數據庫連接字符串來選擇一個導出方法,對于大部分系統(tǒng)來說,Sqoop會選擇JDBC。Sqoop會根據目標表的定義生成一個Jave類,這個生成的類能夠從文本中解析出記錄數據,并能夠向表中插入類型合適的值,然后啟動一個MapReduce作業(yè),從HDFS中讀取源數據文件,使用生成的類解析出記錄,并且執(zhí)行選定的導出方法。

2 Sqoop安裝配置

Sqoop的安裝配置非常簡單,前提是部署Sqoop工具的機器需要具備Jave和Hadoop的運行環(huán)境。本文是以穩(wěn)定版本Sqoop-1.4.6為例。

(1)Sqoop安裝。

將安裝包上傳至Hadoop01主點的/export/software目錄中,并解壓至/export/serers路徑下,然后對解壓包進行重命名,具體指令如下:

$tar–zxvf sqoop-1.4.6.bin_hadoop-2.0.4-alpha.tar.gz–C/export/servers/

$mv sqoop-1.4.6.bin_hadoop-2.0.4-alpha/dqoop-1.4.6

執(zhí)行完上述Sqoop的下載解壓后,就完成了Sqoop的安裝。

(2)Sqoop配置。

先進入Sqoop解壓包目錄中的conf文件夾目錄下,將 sqoop-env-template.sh文件復制并重命名為 sqoopenv.sh,對該文件中的如下內容進行修改。

exportHDAOOOP_COMMON_HOME=/export/servers/hadoop-2.7.4

export HDAOOOP_MAPRED_HOME=/export/servers/hadoop-2.7.4

export HIVE_HOME=/export/servers/hadoop-1.2.1-bin

在sqooop-evn.sh配置文件中,需要配置的是Sqoop運行時必環(huán)境的安裝目錄,Sqoop運行在Hadoop之上,因此必須指定Hadoop環(huán)境。另外在配置文件中還要根據需要自定義配置HBase、Hive和Zookeeper等環(huán)境變量。

為了后續(xù)方便Sqoop的使用和管理,可以配置Sqoop系統(tǒng)環(huán)境變量。使用“vi/etc/profile”指令進入profile文件,在文件底部進一步添加如下內容類配置Sqoop系統(tǒng)環(huán)境變量。

export SQOOP_HOME=/export/servers/sqoop-1.4.6

export PATH=$PATH:$SQOOP_HOME/bin

配置完成后直接保存退出,接著執(zhí)行“source/etc/profile”指令刷新配置文件即可。

當完成前面Sqoop的相關配置后,還需要根據所操作的關系數據庫添加對應的JDBC驅動包,用于數據庫連接。本文將針對MySQL數據庫進行遷移操作,所以需要將mysql-connector-java-5.1.23.jar包上傳至 Sqoop解壓包目錄的lib文件夾下。

(3)Sqoop效果測試。

執(zhí)行完上述 Sqoop的安裝配置操作后,就可以執(zhí)行Sqoop相關指令來驗證Sqoop的執(zhí)行效果了,具體指令如下。

$sqoop list-databases

-connect jdbc:mysql://localhost:3306

--username root–password 123456

上述指令中,sqooplist-databases用于輸出連接本地的MySQL數據庫中的所有數據庫名,如果正確返回指定地址的MySQL數據庫信息,那么說明Sqoop配置完成。

3 使用Sqoop將數據從MySQL導入HDFS

(1)數據準備。

在MySQL中有一個表student,表的數據如下表:

表1 student數據表

確定HDFS、MySQL已啟動。

cd/usr/local/hadoop

./sbin/start-dfs.sh

Service mysql restart

mysql-u roop-p

(2)在MySQL中新建一張表并插入一些數據。

use mysql;

create table student(

sid char(10)primary key,

sname char(10)not null,

sex varchar(10)null,

birthday date null,

class char(16)null,

dep varchar(20)null

);

insert into student values(10001,'gopal','male','2002-06-02','1','computer');

insertintostudentvalues(10002,'andy','male','2002-01-05','2','electromechanical');

insert into student values(10003,'lily','female','2001-05-06','3','computer');

導入表的所有數據至HDFS

./bin/sqoop import

--connect jdbc:mysql://localhost:3306/mysql

--username root

--password'hadoop'

--table student

-m l

--fields-terminated-by' '

檢查導入結果

通過hdfs命令檢查導入結果:

hdfs dfs-cat/user/hadoop/student/part-m-00000

10001,gopal,male

10002,andy,male

10003,lily,female

4 作用Sqoop將數據從HDFS導出MySQL

在導出前需要先創(chuàng)建待導出的表的結構,如果導出的表在數據庫中不存在會報錯;如果重復導出表,表中的數據也會重復出現(xiàn)。

(1)在MySQL下創(chuàng)建表。

create table student_demo(

sid char(10)primary key,

sname char(10)not null,

sex varchar(10)null,

birthday date null,

class char(16)null,

dep varchar(20)null

);

(2)指定分隔符導出表的所有列。

./bin/sqoop export

--connect jdbc:mysql://localhost:3306/mysql

--username root

--password'hadoop'

--table student_demo

--fields-terminated-by' '

--lines-terminated-by' '

--export-dir path/user/hadoop/student

-m l

在MySQL Shell界面輸入select*from student_demo查看導出表的數據,如圖1所示。

圖1

說明:每執(zhí)行一次,數據都會插入MySQL中,所以在執(zhí)行之前根據需要將表中的數據刪除后再導入。

猜你喜歡
指令數據庫
聽我指令:大催眠術
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 少妇精品在线| 亚洲精品制服丝袜二区| 欧美一区中文字幕| 亚洲精品卡2卡3卡4卡5卡区| 国产第一色| 成人小视频在线观看免费| 在线国产91| 久久婷婷五月综合色一区二区| 久久久国产精品免费视频| 看国产毛片| 91成人免费观看| 国产黄在线观看| 伊人久久精品无码麻豆精品| 日韩毛片在线播放| 亚洲成a∧人片在线观看无码| 亚洲不卡无码av中文字幕| 亚洲全网成人资源在线观看| 青青青亚洲精品国产| 成人精品视频一区二区在线| 国产精品久久久久久久久| 91精品啪在线观看国产60岁| 粉嫩国产白浆在线观看| 国产00高中生在线播放| 久久激情影院| 美女潮喷出白浆在线观看视频| 成人伊人色一区二区三区| 精品国产91爱| 色婷婷天天综合在线| 国产精品毛片一区| 手机在线国产精品| 草草影院国产第一页| 久久黄色影院| 91最新精品视频发布页| 国产精品尤物铁牛tv | a国产精品| 97国产一区二区精品久久呦| 国产精品任我爽爆在线播放6080 | 国产一级视频在线观看网站| 国产网站免费观看| 男女性色大片免费网站| 免费女人18毛片a级毛片视频| 亚洲无码高清视频在线观看| 日韩高清无码免费| 欧美国产日韩另类| 成人亚洲国产| 99精品免费欧美成人小视频| 一级毛片不卡片免费观看| 欧美性色综合网| 亚洲成人精品在线| 国产精品对白刺激| 欧美一区二区丝袜高跟鞋| 小13箩利洗澡无码视频免费网站| 国产成人亚洲精品蜜芽影院| 免费无码又爽又黄又刺激网站| 免费在线视频a| 米奇精品一区二区三区| 亚洲欧洲免费视频| 免费人成网站在线高清| 日本不卡在线视频| a级毛片在线免费观看| 亚洲国产亚洲综合在线尤物| 色综合久久88色综合天天提莫| 亚洲精品福利网站| 亚洲,国产,日韩,综合一区| 91久久国产热精品免费| 怡红院美国分院一区二区| 大香网伊人久久综合网2020| 黄片一区二区三区| 日本高清在线看免费观看| 亚洲高清在线天堂精品| 亚洲av无码成人专区| 福利国产在线| 91口爆吞精国产对白第三集 | 日韩123欧美字幕| 2024av在线无码中文最新| 伊人91在线| AV片亚洲国产男人的天堂| 久青草免费在线视频| 欧美精品在线观看视频| 国产毛片网站| 在线视频亚洲色图| 久久6免费视频|