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

使用Sqoop進行數據遷移

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

黃明輝

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

1 概述

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

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

圖1 Sqoop功能

(1)導入原理。

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

(2)導出原理。

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

2 Sqoop安裝配置

Sqoop的安裝配置非常簡單,前提是部署Sqoop工具的機器需要具備Jave和Hadoop的運行環境。本文是以穩定版本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

執行完上述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運行時必環境的安裝目錄,Sqoop運行在Hadoop之上,因此必須指定Hadoop環境。另外在配置文件中還要根據需要自定義配置HBase、Hive和Zookeeper等環境變量。

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

export SQOOP_HOME=/export/servers/sqoop-1.4.6

export PATH=$PATH:$SQOOP_HOME/bin

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

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

(3)Sqoop效果測試。

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

$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

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

(1)在MySQL下創建表。

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

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

猜你喜歡
指令數據庫
聽我指令:大催眠術
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
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 亚洲精品无码专区在线观看| 国产成人盗摄精品| 91精品国产自产在线老师啪l| 婷婷色中文| 亚洲欧洲综合| 久久中文无码精品| 欧美日本在线一区二区三区| 日本在线视频免费| 国产美女久久久久不卡| 一边摸一边做爽的视频17国产| 无码AV高清毛片中国一级毛片| 一级不卡毛片| 国产成人精品一区二区不卡| 亚洲综合天堂网| 亚洲精品图区| 99久久国产精品无码| 91精品国产综合久久不国产大片 | 毛片网站免费在线观看| 沈阳少妇高潮在线| 国产91在线|日本| 国产欧美视频在线| jijzzizz老师出水喷水喷出| 久久久无码人妻精品无码| 毛片三级在线观看| 伊人久热这里只有精品视频99| 真人高潮娇喘嗯啊在线观看| 久久亚洲国产一区二区| 欧美伦理一区| 女人毛片a级大学毛片免费| 亚洲精品国产综合99久久夜夜嗨| 亚洲人成色在线观看| 蜜芽国产尤物av尤物在线看| 久久女人网| 91麻豆精品视频| 国产亚洲精品精品精品| 91麻豆精品视频| 成人福利免费在线观看| 99久久精品免费观看国产| a毛片在线播放| 国产精品内射视频| 国产伦精品一区二区三区视频优播| 九月婷婷亚洲综合在线| 人妻无码中文字幕第一区| 在线观看无码a∨| 亚洲免费福利视频| 一级毛片免费观看久| 日本一区二区三区精品AⅤ| 91麻豆国产视频| 最新无码专区超级碰碰碰| 婷婷综合色| 97精品国产高清久久久久蜜芽| 在线观看无码av五月花| 国产美女在线观看| 亚洲日本在线免费观看| 91成人免费观看在线观看| 大香网伊人久久综合网2020| 五月六月伊人狠狠丁香网| 成人在线综合| 色婷婷丁香| 亚洲天堂久久久| 亚洲精品卡2卡3卡4卡5卡区| 九色视频线上播放| 最近最新中文字幕在线第一页| 国产日韩欧美在线播放| 超碰免费91| 婷婷成人综合| 亚洲美女一区| 亚洲成a人在线播放www| 国产精品永久免费嫩草研究院| 国产乱子伦一区二区=| 伊人色在线视频| 永久免费av网站可以直接看的| 一本大道无码日韩精品影视| 中文字幕 91| 国产真实乱子伦精品视手机观看| 国产成人精彩在线视频50| 四虎在线高清无码| 四虎成人精品在永久免费| 国产成人麻豆精品| 男女男精品视频| 国产精品亚欧美一区二区三区| 国产在线观看91精品亚瑟|