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

大數據Hadoop集群下Sqoop數據傳輸技術研究

2024-05-23 08:37:16周少珂郭璇張振平付媛冰
河南科技 2024年6期
關鍵詞:大數據

周少珂 郭璇 張振平 付媛冰

摘 要:【目的】Hadoop系統是大數據分布式集群系統,其開源的生態圈中有眾多功能組件,通過在大數據Hadoop集群系統上部署Sqoop組件,將本地關系型Mysql數據庫中的數據和Hive數據倉庫中存儲的數據進行快速導入導出,進一步研究數據傳輸性能。【方法】首先在企業服務器上部署配置Hadoop分布式集群系統,其次在該集群上部署Sqoop組件并測試與Mysql數據庫和Hive數據倉庫的連通性,最后使用Sqoop技術測試本地Mysql數據庫和Hive數據倉庫之間的導入和導出。【結果】通過Sqoop技術能夠更加便捷快速地從本地Mysql數據庫上傳到Hadoop集群系統,與傳統方式下先將本地Mysql數據庫中數據導出TXT文檔格式后再使用Hive數據倉庫的Load數據批量加載功能相比,在時間和效率方面大為提升。【結論】驗證了Sqoop組件在Hadoop集群中部署運行的正確性,為大數據技術學習者提供一定程度的參考借鑒。

關鍵詞:大數據;Hadoop;分布式集群;Sqoop

中圖分類號:TP311? ? ?文獻標志碼:A? ? ?文章編號:1003-5168(2024)06-0025-04

DOI:10.19968/j.cnki.hnkj.1003-5168.2024.06.005

Research on Sqoop Data Transmission Technology Based on Big Data Hadoop Cluster

ZHOU Shaoke GUO Xuan ZHANG Zhenping FU Yuanbing

(College of Information Science and Engineering, Henan Vocational College of Applied Technology, Zhengzhou 450042, China)

Abstract:[Purposes] The Hadoop system is a big data distributed cluster system with numerous functional components in its open source ecosystem. By deploying the Sqoop component on the big data Hadoop cluster system, the data in the local relational MySQL database and the data stored in the Hive data warehouse can be quickly imported and exported, further studying the data transmission performance. [Methods] This article first deploys and configures the Hadoop distributed cluster system on the enterprise server, and then deploys the Sqoop component on the cluster and tests its connectivity with the MySQL database and Hive data warehouse. Finally, this paper uses Sqoop technology to test the import and export between the local MySQL database and Hive data warehouse. [Findings] Through Sqoop technology, it is more convenient and fast to upload data from the local MySQL database to the Hadoop cluster system. Compared to traditional methods of exporting data from the local MySQL database to TXT document format and then using the Hive data warehouse's Load data batch loading function, the technology greatly improves time and efficiency. [Conclusions] This paper verifies the correctness of deploying and running Sqoop components in Hadoop clusters, providing a certain degree of reference for big data technology learners.

Keywords: big data; Hadoop; distributed clustering; Sqoop

0 引言

Hadoop起始于2002年Apache項目中的Nutch項目。開發者通過學習和借鑒Google的開源GFS、MapReduce、BigTable三篇論文,開發創建出Hadoop項目。隨著技術的發展,Hadoop版本已經發展到Apache Hadoop 3.3.6[1]。

目前,Hadoop生態圈發展日益完善,其中包括HDFS分布式文件系統、MapReduce計算模型、Zookeeper協調一致性服務、Hbase列式數據庫、Hive數據倉庫、Flume日志采集、Sqoop數據泵等眾多生態圈中的組件[2]。Sqoop組件功能是完成關系型(如Mysql、Oracle)和大數據集群型(如Hbase)數據庫、Hive數據倉庫、HDFS分布式文件系統之間數據導入導出的存儲[3]。

1 Hadoop集群部署

Hadoop項目整體包括底層的大數據分布式集群部署和上層的大數據應用開發,本研究主要針對底層大數據分布式集群部署進行研究。在Hadoop分布式集群部署中可以分為三類:單機版Hadoop集群;偽分布式Hadoop集群;完全分布式Hadoop集群。其中完全分布式集群部署是真實集群環境,前兩類集群僅僅作為初學者進行學習的參考。

本研究使用三臺Linux系統進行Hadoop分布式集群系統配置[4]。在運行CentOS7.5發行版的三臺Linux系統服務器上進行完全分布式Hadoop集群系統部署。

首先,進行分布式集群中的Java環境變量的基礎配置。由于Hadoop項目的底層環境為Java,因此需要在三臺服務器中的/etc/profile目錄下配置JDK1.8環境變量。在配置完畢后需要使用Source命令對文檔進行刷新,使用Java -version命令查看JDK的具體版本信息是否正確。在配置部署前需將各主機防火墻進行關閉,SeLinux功能禁用,并配置使用本地Yum軟件源,同時分別修改主機名為Hadoop01、Hadoop02、Hadoop03,其中Hadoop01為主節點(即NameNode節點),Hadoop02和Hadoop03為從節點(即DataNode節點),并修改主機名和IP地址的映射。

其次,在三臺CentOS7.5系統服務器節點上配置六個文檔,分別為:hadoop-env.sh文檔;core-site.xml文檔;yarn-site.xml文檔;mapred-site.xml文檔;hdfs-site.xml文檔;master-slave文檔。該文件主要保存和記錄分布式集群數量和名稱,使集群成為統一運行整體。該文件中需把所有DataNode數據節點的主機名添加至文件中,且每個DataNode數據節點名稱單獨占用一行記錄[5]。

再次,對Hadoop分布式集群系統NameNode控制節點在Shell終端環境下進行Hadoop namenode format格式化命令操作。在格式化節點過程中不要進行多次操作,以免造成NameNode節點和DataNode節點不同步,影響系統的穩定性,通過使用Start-all.sh命令啟動集群。

最后,Hadoop分布式集群系統運行成功后,就可以隨機選擇任何一臺主機進行測試,有兩種方式進行測試。一種是瀏覽器Web界面登錄方式。使用瀏覽器輸入http://主節點IP地址(或域名):50070,進入HDFS分布式文件系統界面,如圖1所示。另一種是通過Shell終端命令方式。輸入“JPS”“hadoop fs –ls / ”等命令。

2 Sqoop配置部署

Sqoop組件是Hadoop系統生態圈中的組件之一,也稱作“數據泵”。主要是本地關系型(如Mysql、Oracle)數據庫和大數據Hadoop集群中的非關系型(如Hbase)數據庫、Hive數據倉庫、HDFS分布式文件系統之間數據的導入導出,Sqoop組件技術更加方便數據之間傳輸的高效性和便捷性。在Hadoop分布式集群系統、Hive數據倉庫、Mysql關系型數據庫已正確完成部署后,本研究以Linux系統中Mysql本地數據庫和Hadoop分布式集群中的Hive數據倉庫二者為研究對象,進行數據間的傳輸測試,其Sqoop組件工作原理,如圖2所示。

Sqoop組件是開源免費的,可以在開源鏡像站中下載,本研究使用Sqoop-1.4.7.bin__hadoop-2.7.6.tar.gz壓縮包,Sqoop版本為1.4.7。為了避免操作權限的影響,Linux操作系統中使用root管理員權限身份操作,在Hadoop完全分布式集群(三臺服務器)運行的基礎上,通過Hadoop01(即Master節點)進行Sqoop組件的安裝部署。

①上傳服務器Sqoop組件。使用將SecureCRT遠程登錄軟件,將Sqoop壓縮包上傳至/root目錄下,并將/root/Sqoop-1.4.7.bin__hadoop-2.7.6.tar.gz壓縮包解壓到/usr/local/src目錄。將解壓后生成的Sqoop-1.4.7.bin__hadoop-2.7.6文件夾更名為Sqoop。

②修改并配置Sqoop環境。復制Sqoop-env-template.sh模板,并將模板重命名為Sqoop-env.sh。修改Sqoop-env.sh文件,添加Hdoop、Hbase、Hive等組件的安裝路徑。

④配置連接Mysql數據庫。為了使Sqoop能夠連接MySQL數據庫,需要將Mysql-connector-java-5.1.46.jar文件放入Sqoop的lib目錄中。該jar文件版本需要與MySQL數據庫的5.7版本相對應,否則Sqoop導入數據時會報錯。

⑤測試Sqoop組件連接Mysql數據庫。在Master服務器節點上啟動Hadoop分布式集群系統,測試Sqoop組件是否能夠正常連接Mysql數據庫。使用“sqoop list-databases --connect jdbc:mysql://hadoop01:3306/ --username root -P Mysql數據庫密碼”命令,能夠查看到MySQL數據庫中的information_schema、hive、mysql、performance_schema、sys等數據,說明Sqoop可以正常連接MySQL數據庫。

⑥測試Sqoop組件連接Hive數據倉庫。為使Sqoop能夠連接Hive,需要將Hive組件/usr/local/src/hive/lib目錄下的hive-common-2.0.0.jar放入Sqoop安裝路徑的lib目錄中,該jar包為內部調用普通庫函數時所需要使用的包。

通過以上六步的配置,完成了Hadoop分布式集群系統中Sqoop組件的安裝部署,并能夠使用Sqoop相關命令進行本地Mysql數據庫和Hive數據倉庫的連接。其中Hive數據倉庫并非數據庫而是一種數據庫引擎,通過Hive將數據存儲在HDFS分布式文件系統中。

3 Sqoop功能測試

根據Sqoop組件功能,其測試包含兩個方面。一方面是,將本地Mysql數據庫中的數據進行導出,通過Sqoop技術再次將該數據導入到Hive數據倉庫中。另一方面是,將Hive數據倉庫中的數據導出,通過Sqoop技術再次將該數據導入到本地Mysql數據庫中。測試完成后,通過實際的運行結果,驗證Sqoop配置的正確性和性能。

①創建Mysql數據庫和數據表的樣本數據。使用Root管理員權限身份登錄Linux本地系統的Mysql數據庫,創建Example數據庫和樣例Student表,該表格有Snumber學號主鍵列和Sname姓名列。“create table Student(Snumber char(9) primary key,Sname varchar(10));”并向該表格中插入三行詳細數據“insert into Student values(‘01,‘ZhangSan);”“insert into Student values(‘02,‘LiSi);”“insert into Student values(‘03,WangWu);”

②創建Hive數據倉庫中的Example數據庫和Student數據表。在運行的Hadoop分布式集群系統中啟動Hive數據倉庫并創建Example數據庫“hive> create database sample;”進而創建Student數據表“hive> create table Student(Snumber STRING,Sname STRING) row format delimited fields terminated by ‘| stored as textfile;”此時Hive中的Student數據表是使用“|”進行、列之間的分割,并最終以textfile文件格式進行數據存儲,此時Hive中的數據庫和表格格式已創建完成。

③將本地Mysql數據導出,導入Hive數據倉庫測試。本地Mysql數據庫中已創建數據庫和數據表,并插入部分行數據,所以可以直接在Master服務器中使用“sqoop import--connectjdbc:mysql://master:3306/Example --username root --password Password123!(數據庫密碼) --table student --fields-terminated-by ‘| --delete-target-dir --num-mappers 1 --hive-import --hive-database Example --hive-table Student”命令進行測試。其中數據庫密碼設定符合密碼復雜度即可,在該命令底層運行過程中會轉換成一個MapReduce計算模型的工作任務,如圖3所示。

④將Hive數據倉庫導出,導入本地Mysql數據測試。由于Mysql數據庫中已插入部分數據,因此需要先刪除表格中的數據,但無須刪除表格框架結構,使用命令“mysql>use Example; mysql>delete from Student;”在Master節點中使用“sqoop export --connect jdbc:mysql://master:3306/Example?useUnicode=true &characterEncoding=utf-8 --username root --password Password123!(數據庫密碼) --table Student --input-fieldsterminated-by ‘| --export-dir /user/hive/warehouse/Example.db/Student/*”命令。在從Hive導出數據過程中,底層需要轉換為MapReduce計算模型的程序進行調用系統程序,因此是以MapReduce程序進行運行。Hive數據倉庫中的數據成功導入到本地Mysql數據庫中的過程,如圖4所示。

4 結語

Sqoop組件是Hadoop系統生態圈中的組件之一,其主要功能是進行本地數據和Hadoop分布式集群系統中數據間的傳輸。通過Sqoop技術能夠更加便捷、快速地從本地Mysql數據庫上傳到Hadoop集群系統,與傳統方式下將本地Mysql數據庫中數據導出TXT文檔格式后,再使用Hive數據倉庫的Load數據批量加載功能相比,在時間和效率方面大為提升。下一步,可以在此基礎上運用海量數據,從使用Sqoop技術導入和Hive的Load批量加載兩個方面,將數據導入到Hive數據倉庫中進行對比研究,并進行性能優化。

參考文獻:

[1]劉曉莉,李滿,熊超,等.基于Hadoop搭建高可用數據倉庫的研究和實現[J].現代信息科技,2023,7(1):99-101.

[2]李霄揚,朱恒.基于HHS的離線數據分析平臺的設計與實現[J].電腦知識與技術,2023,19(10):75-77.

[3]吳建.基于Linux的Hadoop集群搭建的探索與實現[J].物聯網技術,2023,13(7):134-137,141.

[4]王建軍,張英成,戰非,等.基于Sqoop的高校海量結構化數據導入研究[J].無線互聯科技,2018,15(20):52-53.

[5]周少珂,王雷,崔琳,等.大數據Hadoop技術完全分布式集群部署[J].工業控制計算機,2021,34(8):101-103.

猜你喜歡
大數據
基于在線教育的大數據研究
中國市場(2016年36期)2016-10-19 04:41:16
“互聯網+”農產品物流業的大數據策略研究
中國市場(2016年36期)2016-10-19 03:31:48
基于大數據的小微電商授信評估研究
中國市場(2016年35期)2016-10-19 01:30:59
大數據時代新聞的新變化探究
商(2016年27期)2016-10-17 06:26:00
淺談大數據在出版業的應用
今傳媒(2016年9期)2016-10-15 23:35:12
“互聯網+”對傳統圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
大數據環境下基于移動客戶端的傳統媒體轉型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數據背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數據+輿情:南方報業創新轉型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
主站蜘蛛池模板: 亚洲91精品视频| 伦精品一区二区三区视频| 美美女高清毛片视频免费观看| www.亚洲色图.com| 九九免费观看全部免费视频| 国产毛片不卡| 亚洲福利一区二区三区| 亚洲精品男人天堂| 国产成人精品男人的天堂| 亚洲精品午夜无码电影网| 中国丰满人妻无码束缚啪啪| 青青青伊人色综合久久| 草逼视频国产| 97视频免费在线观看| 亚洲成人免费看| 日韩国产欧美精品在线| 国产亚洲精久久久久久久91| 一本色道久久88亚洲综合| 国产香蕉国产精品偷在线观看| 国产精品香蕉在线观看不卡| 国产视频久久久久| 国产精品理论片| 色悠久久综合| 国产一区三区二区中文在线| 88av在线看| 99手机在线视频| 26uuu国产精品视频| 91精品国产自产在线观看| 国产成人喷潮在线观看| 午夜小视频在线| 精品精品国产高清A毛片| 无码AV日韩一二三区| 91青青草视频| 青青草原国产精品啪啪视频| 91无码人妻精品一区二区蜜桃 | 亚洲美女视频一区| 在线看片中文字幕| 欧美成人看片一区二区三区| 99中文字幕亚洲一区二区| 亚洲乱强伦| 亚洲综合日韩精品| 制服丝袜一区二区三区在线| 日本亚洲国产一区二区三区| 国产无码精品在线| 国产va欧美va在线观看| 免费在线播放毛片| h视频在线播放| 国产麻豆精品在线观看| 国产精品污视频| 中文字幕2区| 亚洲天堂视频网站| 国产日本一线在线观看免费| 久久香蕉国产线看精品| 日本午夜影院| 9cao视频精品| 国产欧美视频综合二区 | 三上悠亚精品二区在线观看| 成人欧美日韩| 亚洲日韩高清在线亚洲专区| 国产丝袜啪啪| 国产精品人成在线播放| 亚欧成人无码AV在线播放| 丰满人妻中出白浆| 白浆免费视频国产精品视频| 亚洲精品成人片在线播放| 国产乱子伦无码精品小说| 最新日本中文字幕| 久久九九热视频| 99视频在线免费| 亚洲综合久久一本伊一区| 九色视频在线免费观看| 成年人国产视频| 97综合久久| 99激情网| 国产视频自拍一区| 波多野结衣一区二区三区四区| 超碰色了色| 波多野结衣亚洲一区| 无码不卡的中文字幕视频| 久久精品人人做人人综合试看| 中文字幕在线观| 欧美日韩中文字幕在线|