
文章插圖
相信很多學(xué)Java的同學(xué)都有想轉(zhuǎn)大數(shù)據(jù)或者學(xué)大數(shù)據(jù)的想法,但是一看到網(wǎng)上那些大數(shù)據(jù)的技術(shù)棧,就一臉懵逼,什么Hadoop、HDFS、MapReduce、Hive、Kafka、Zookeeper、HBase、Sqoop、Flume、Spark、Storm、Flink等等技術(shù) 。
童鞋們可能一下子就慌了,想學(xué)Java的也就SSM、Springboot、Spring Cloud、MySQL這些,線路清晰明了,所以學(xué)習(xí)起來相對也比較直白,但是大數(shù)據(jù)就不一樣了,技術(shù)棧太多了,剛?cè)腴T的時(shí)候可能就被嚇在門外了 。今天博主就以Java技術(shù)棧對比大數(shù)據(jù)技術(shù)棧,和大家介紹一下大數(shù)據(jù)的這些技術(shù)棧到底都是用來干嘛的 。
架構(gòu)圖
在開始講解之前,我們先來看一下,下面這副圖:
Sqoop
我們按照圖的順序一個(gè)個(gè)來介紹,首先是Sqoop,Sqoop(發(fā)音:skup)是一款開源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(mysql、postgresql…)間進(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ù)庫中 。
如果非要從功能上面對比的話,和阿里的Canal組件很像,都是用來同步數(shù)據(jù)的 。
Flume
Flume是Cloudera提供的一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,并達(dá)到各種數(shù)據(jù)接受方(可定制)的能力 。
Flume的功能和ELK(日志實(shí)時(shí)檢索系統(tǒng))中的Logstash很像,都是用來傳輸和處理日志數(shù)據(jù)的 。
Kafka
Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),它可以處理消費(fèi)者在網(wǎng)站中的所有動(dòng)作流數(shù)據(jù) 。
說白了就是一個(gè)MQ消息系統(tǒng),和Java中常用RabbitMQ、RocketMQ是一樣的,只是各自的側(cè)重點(diǎn)不一樣,Kafka側(cè)重點(diǎn)在高吞吐量,可以處理海量的數(shù)據(jù) 。
HDFS
Hadoop分布式文件系統(tǒng)(HDFS)是指被設(shè)計(jì)成適合運(yùn)行在通用硬件(commodity hardware)上的分布式文件系統(tǒng)(Distributed File System) 。它和現(xiàn)有的分布式文件系統(tǒng)有很多共同點(diǎn) 。但同時(shí),它和其他的分布式文件系統(tǒng)的區(qū)別也是很明顯的 。HDFS是一個(gè)高度容錯(cuò)性的系統(tǒng),適合部署在廉價(jià)的機(jī)器上 。HDFS能提供高吞吐量的數(shù)據(jù)訪問,非常適合大規(guī)模數(shù)據(jù)集上的應(yīng)用 。
像Java項(xiàng)目不可避免地會(huì)涉及到文件上傳下載,這個(gè)時(shí)候要么自己搭建一個(gè)分布式文件系統(tǒng),要么使用第三方 。自己搭建的話一般有GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等,如果用第三方的一般會(huì)用七牛云、騰訊云OSS對象存儲(chǔ)、阿里云OSS對象存儲(chǔ) 。
Hive
hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,用來進(jìn)行數(shù)據(jù)提取、轉(zhuǎn)化、加載,這是一種可以存儲(chǔ)、查詢和分析存儲(chǔ)在Hadoop中的大規(guī)模數(shù)據(jù)的機(jī)制 。hive數(shù)據(jù)倉庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行 。
如果對比Java的話,有點(diǎn)類似MySQL(不太準(zhǔn)確),既可以存儲(chǔ)表結(jié)構(gòu)數(shù)據(jù),又可以通過SQL來查詢這些數(shù)據(jù),只是不能進(jìn)行修改,只能進(jìn)行離線操作 。
HBase
HBase – Hadoop Database,是一個(gè)高可靠性、高性能、面向列、可伸縮的分布式存儲(chǔ)系統(tǒng),利用HBase技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模結(jié)構(gòu)化存儲(chǔ)集群 。
HBase其實(shí)就是一種NoSQL,和Java中常用的Redis很像,只是他們的底層實(shí)現(xiàn)不一樣而已 。
Zookeeper
ZooKeeper是一個(gè)分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件 。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時(shí)就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 東莞學(xué)甜點(diǎn)的學(xué)校
- e58seo技術(shù)
- 做電商是資本的較量還是技術(shù)的瘋狂?產(chǎn)品為王,營銷為上
- 長沙航空學(xué)校專業(yè)
- 考研英語翻譯 多媒體
- 親愛的客棧2固定嘉賓都有誰
- 親愛的客棧2在哪里拍的
- 親愛的客棧有馬思超嘛
- 親愛的客棧第二季人員
- 親愛的客棧第二季什么時(shí)候播出
