chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

大數(shù)據(jù)操作系統(tǒng)轉(zhuǎn)型分析smack堆棧

大?。?/span>0.6 MB 人氣: 2017-09-30 需要積分:1

  從大數(shù)據(jù)到快速數(shù)據(jù)

  除了能夠以批處理模式分析大型數(shù)據(jù)集之外,現(xiàn)代數(shù)據(jù)驅(qū)動(dòng)型組織還需要盡快從所收集的數(shù)據(jù)中生成洞察,并最終采取行動(dòng)。在這方面,傳統(tǒng)的Hadoop堆棧(HDFS作為存儲(chǔ)層,MapReduce或Tez作為處理框架,YARN作為集群資源管理器)缺乏嚴(yán)重性。為了減輕這種情況,業(yè)界已經(jīng)提出了諸如Lambda架構(gòu)(見(jiàn)《程序員》2016年11月“Lambda與Kappa計(jì)算架構(gòu)之我見(jiàn)”一文)等架構(gòu)。在Lambda架構(gòu)中,一個(gè)“慢”大數(shù)據(jù)處理框架(如Hadoop堆棧)與一個(gè)“快速”的流處理框架(如Apache Storm)組合在一起。由快速框架處理的數(shù)據(jù)或者與慢速處理框架周期性地重新集成,或者完全丟棄,并且由使用慢速處理框架處理的數(shù)據(jù)代替。當(dāng)然,這種Lambda型結(jié)構(gòu)并不是沒(méi)有問(wèn)題,它會(huì)導(dǎo)致代碼重復(fù)和需要重新處理與集成數(shù)據(jù)。

  SMACK堆棧

  所謂的SMACK堆棧是一個(gè)在過(guò)去一年中變得流行的架構(gòu)。SMACK堆棧的各部分如下:

  Spark作為一個(gè)通用、快速、內(nèi)存中的大數(shù)據(jù)處理引擎;

  Mesos作為集群資源管理器;

  Akka作為一個(gè)基于Scala的框架,允許我們開(kāi)發(fā)容錯(cuò)、分布式、并發(fā)應(yīng)用程序;

  Cassandra作為一個(gè)分布式、高可用性存儲(chǔ)層;

  Kafka作為分布式消息代理/日志。

  首先我們將快速討論組成SMACK堆棧的部件,特別注意Cassandra,因?yàn)樗c堆棧的其他部分不同,似乎沒(méi)有在國(guó)內(nèi)廣泛使用。

  Apache Spark

  Apache Spark已經(jīng)成為一種“大數(shù)據(jù)操作系統(tǒng)”。數(shù)據(jù)被加載并保存到簇存儲(chǔ)器中,并且可以被重復(fù)查詢(xún)。這使得Spark對(duì)機(jī)器學(xué)習(xí)算法特別有效。Spark為批處理、流式處理(以微批處理方式)、圖形分析和機(jī)器學(xué)習(xí)任務(wù)提供統(tǒng)一的接口。它用Scala編寫(xiě),并公開(kāi)了Scala、Java、Python和R的API。此外,Spark能夠?qū)?shù)據(jù)執(zhí)行SQL查詢(xún),更利于分析師們學(xué)習(xí)傳統(tǒng)的BI工具。

  Apache Mesos

  Apache Mesos是一個(gè)開(kāi)源的集群管理器,由加州大學(xué)伯克利分校開(kāi)發(fā)。它允許跨分布式應(yīng)用程序的高效資源隔離和共享。在Mesos中,這樣的分布式應(yīng)用程序被稱(chēng)為框架。

  Akka

  Akka是構(gòu)建在JVM上運(yùn)行的并發(fā)程序框架。強(qiáng)調(diào)一個(gè)基于actor的并發(fā)方法:actors被當(dāng)作原語(yǔ),它們只通過(guò)消息而不涉及共享內(nèi)存進(jìn)行通信。響應(yīng)消息,actors可以創(chuàng)建新的actors或發(fā)送其他消息。actor模型由Erlang編程語(yǔ)言編寫(xiě),更易普及。

  Apache Cassandra

  Cassandra最初是在Facebook開(kāi)發(fā)的,后來(lái)成為一個(gè)Apache開(kāi)源項(xiàng)目。它是一個(gè)分布式、面向列的NoSQL數(shù)據(jù)存儲(chǔ),類(lèi)似于Amazon的Dynamo和Google的BigTable。與其他NoSQL數(shù)據(jù)存儲(chǔ)相反,它不依賴(lài)于HDFS作為底層文件系統(tǒng),具有無(wú)主控架構(gòu),允許它具有幾乎線性的可擴(kuò)展性,并且易于設(shè)置和維護(hù)。Cassandra的另一個(gè)優(yōu)勢(shì)是支持跨數(shù)據(jù)中心復(fù)制(XDCR)。跨數(shù)據(jù)中心復(fù)制實(shí)際上有助于使用單獨(dú)的工作負(fù)載和分析集群。Cassandra的企業(yè)版可從DataStax (http://www.datastax.com)獲得。

  根據(jù)固定分區(qū)鍵,數(shù)據(jù)在Cassandra集群的節(jié)點(diǎn)上分割。其架構(gòu)意味著它沒(méi)有單點(diǎn)故障。根據(jù)CAP定理,我們可以在每個(gè)表的基礎(chǔ)上對(duì)一致性和可用性進(jìn)行微調(diào)。

  Apache Kafka

  在SMACK堆棧內(nèi),Kafka負(fù)責(zé)事件傳輸。Kafka集群在SMACK堆棧中充當(dāng)消息主干,可以跨集群復(fù)制消息,并將其永久保存到磁盤(pán)以防止數(shù)據(jù)丟失。

  在詳細(xì)了解SMACK堆棧的各部分如何協(xié)同工作之前,我們將快速討論Cassandra的數(shù)據(jù)模型及其在Cassandra上進(jìn)行分析所面臨的挑戰(zhàn)。

  Cassandra數(shù)據(jù)模型

  與其他NoSQL數(shù)據(jù)存儲(chǔ)類(lèi)似,基于Cassandra應(yīng)用程序的成功數(shù)據(jù)模型應(yīng)該遵循“存儲(chǔ)你查詢(xún)的內(nèi)容”模式。也就是說(shuō),與關(guān)系數(shù)據(jù)庫(kù)相反,在關(guān)系數(shù)據(jù)庫(kù)中,我們可以以標(biāo)準(zhǔn)化形式存儲(chǔ)數(shù)據(jù)。當(dāng)我們談?wù)揅assandra數(shù)據(jù)模型時(shí),仍然使用術(shù)語(yǔ)table,但是Cassandra表的行為更像排序,分布式映射,然后是關(guān)系數(shù)據(jù)庫(kù)中的表。

  Cassandra支持用于定義表與插入和查詢(xún)數(shù)據(jù)的SQL語(yǔ)言,稱(chēng)為Cassandra Query Language(CQL)。

  當(dāng)定義一個(gè)Cassandra表時(shí),我們需要提供一個(gè)分區(qū)鍵,它確定數(shù)據(jù)在集群節(jié)點(diǎn)之間的分布方式,以及確定數(shù)據(jù)如何排序的聚簇列。當(dāng)使用CQL查詢(xún)時(shí),我們只能查詢(xún)(使用WHERE子句)并根據(jù)聚簇列排序。

  讓我們來(lái)看看Cassandra文檔中的一個(gè)示例,該文檔是音樂(lè)共享服務(wù)(如Spotify)中的播放列表建模:

  大數(shù)據(jù)操作系統(tǒng)轉(zhuǎn)型分析smack堆棧

  在這個(gè)例子中,uuid(通用唯一ID,保證在多個(gè)機(jī)器之間是唯一的)id是分區(qū)鍵,song_order是聚類(lèi)列,(id,song_order)需要在表的所有行中都是唯一的。此外,id決定了在哪個(gè)機(jī)器上存儲(chǔ)行,song_order決定了行在物理主機(jī)上的存儲(chǔ)順序。也可以在Cassandra中使用復(fù)合分區(qū)鍵,將它們放在()中。

  CQL查詢(xún)?nèi)缦滤荆?/p>

  大數(shù)據(jù)操作系統(tǒng)轉(zhuǎn)型分析smack堆棧

  WHERE子句中出現(xiàn)的任何列都要求是主鍵的一部分,或者可以在其上定義索引。此外,分區(qū)鍵只能出現(xiàn)在相等(=)操作中。只有當(dāng)所選行的集合被作為連續(xù)塊存儲(chǔ)在主機(jī)上時(shí),范圍查詢(xún)才是可行的。通過(guò)聚類(lèi)SQL的類(lèi)似列和LIMIT子句,CQL能夠支持排序,但不具備GROUP BY的類(lèi)似功能。

  根據(jù)特定列進(jìn)行查詢(xún),減少了對(duì)隨機(jī)磁盤(pán)訪問(wèn)的需求,但也強(qiáng)烈限制了Cassandra作為分析數(shù)據(jù)庫(kù)的使用?!按鎯?chǔ)你查詢(xún)的內(nèi)容”范例需要根據(jù)Cassandra數(shù)據(jù)庫(kù)上執(zhí)行的查詢(xún)進(jìn)行仔細(xì)地?cái)?shù)據(jù)建模,從而限制了支持新查詢(xún)的能力。為了對(duì)存儲(chǔ)在Cassandra中的數(shù)據(jù)執(zhí)行分析,應(yīng)該將數(shù)據(jù)加載到單獨(dú)的處理框架中,我們選擇Apache Spark框架。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?