1. Spark平台只能採用批處理模式對大數據進行數據計算對嗎
不對。
Spark支持批處理和流處理。批處理指的是對大規模數據一批一批的計算,計算時間較長,而流處理則是一條數據一條數據的處理,處理速度可達到秒級。
Spark是一個快速且通用的集群計算平台,可以處理大數據量時候,比如幾T到幾P量級時候只需要幾秒鍾到幾分鍾。
2. 請描述下大數據三大平台hadoop,storm,spark的區別和應用場景
Hadoop 當前大數據管理標准之一,運用在當前很多商業應用系統。可以輕松地集成結專構屬化、半結構化甚至非結構化數據集還是離線處理,批處理比較多,用的比較廣的是hive
Storm 用於處理高速、大型數據流的分布式實時計算系統。為Hadoop添加了可靠的實時數據處理功能
spark基於內存的,吞吐量比storm大一點。而且spark集成的sparkSQL,MLlib,Graph貌似比較方便 !
3. 大數據中的Spark指的是什麼
謝謝邀請!
spark最初是由伯克利大學的amplab於2009年提交的一個項目,現在已經是Apache軟體基金會最活躍的項目,對於spark,apache給出的官方定義是:spark是一個快速和通用的大數據處理引擎。可以理解為一個分布式大數據處理框架,spark是基於Rdd(彈性分布式數據集),立足於內存計算,在「one stack to rule them all」 的思想引導下 ,打造了一個可以流式處理(spark streaming),機器學習(mllib),實時查詢(spark sql),圖計算(graphx)等各種大數據處理,無縫連接的一棧式計算平台,由於spark在性能和擴展上快速,易用,通用的特點,使之成為一個一體化,多元化的大數據計算平台。
spark的一棧式優勢
1 快速處理,比hadoop快100倍,因為spark是基於內存計算,而hadoop是基於磁碟計算
2易用性,spark支持多種語言
3 通用性強,可以流式處理,及時查詢,圖計算,機器學習
4 可以和hadoop數據集成,運行在yarn上,統一進行資源管理調度
5 活躍和壯大的社區
以上是關於spark的簡單定義,希望我的回答可以採納,謝謝
4. spark和hadoop的區別
spark和hadoop的區別如下:
1、誕生的先後順序:hadoop屬於第一代開源大數據處理平台,而spark屬於第二代。屬於下一代的spark肯定在綜合評價上要優於第一代的hadoop。
2、計算不同:spark和hadoop在分布式計算的具體實現上,又有區別;hadoop中的maprece運算框架,一個運算job,進行一次map-rece的過程;而spark的一個job中,可以將多個map-rece過程級聯進行。
3、平台不同:spark是一個運算平台,而hadoop是一個復合平台(包含運算引擎,還包含分布式文件存儲系統,還包含分布式運算的資源調度系統),所以,spark跟hadoop來比較的話,hadoop主要是它的運算部分日漸式微,而spark目前如日中天,相關技術需求量大,offer好拿。
4、數據存儲:Hadoop的 MapRece進行計算時,每次產生的中間結果都是存儲在本地磁碟中;而Spark在計算時產生的中間結果存儲在內存中。
5、數據處理:Hadoop在每次執行數據處理時,都需要從磁碟中載入數據,導致磁碟的I/O開銷較大;而Spark在執行數據處理時,只需要將數據載入到內存中,之後直接在內存中載入中間結果數據集即可,減少了磁碟的1O開銷。
5. 如何成為雲計算大數據Spark高手
所謂的大數據平台不是獨立存在的,比如網路是依賴搜索引擎獲得大數據並開展業務的,阿里是通過電子商務交易獲得大數據並開展業務的,騰訊是通過社交獲得大數據並開始業務的,所以說大數據平台不是獨立存在的,重點是如何搜集和沉澱數據,如何分析數據並挖掘數據的價值。
我可能還不夠資格回答這個問題,沒有經歷過一個公司大數據平台從無到有到復雜的過程。不過說說看法吧,也算是梳理一下想法找找噴。
這是個需求驅動的過程。
曾經聽過spotify的分享,印象很深的是,他們分享說,他們的hadoop集群第一次故障是因為,機器放在靠窗的地方,太陽曬了當機了(笑)。從簡單的沒有機房放在自家窗前的集群到一直到現在復雜的數據平台,這是一個不斷演進的過程。
對小公司來說,大概自己找一兩台機器架個集群算算,也算是大數據平台了。在初創階段,數據量會很小,不需要多大的規模。這時候組件選擇也很隨意,Hadoop一套,任務調度用腳本或者輕量的框架比如luigi之類的,數據分析可能hive還不如導入RMDB快。監控和部署也許都沒時間整理,用腳本或者輕量的監控,大約是沒有ganglia、nagios,puppet什麼的。這個階段也許算是技術積累,用傳統手段還是真大數據平台都是兩可的事情,但是為了今後的擴展性,這時候上Hadoop也許是不錯的選擇。
當進入高速發展期,也許擴容會跟不上計劃,不少公司可能會遷移平台到雲上,比如AWS阿里雲什麼的。小規模高速發展的平台,這種方式應該是經濟實惠的,省了運維和管理的成本,擴容比較省心。要解決的是選擇平台本身提供的服務,計算成本,打通數據出入的通道。整個數據平台本身如果走這條路,可能就已經基本成型了。走這條路的比較有名的應該是netflix。
也有一個階段,你發現雲服務的費用太高,雖然省了你很多事,但是花錢嗖嗖的。幾個老闆一合計,再玩下去下個月工資發布出來了。然後無奈之下公司開始往私有集群遷移。這時候你大概需要一群靠譜的運維,幫你監管機器,之前兩三台機器登錄上去看看狀態換個磁碟什麼的也許就不可能了,你面對的是成百上千台主機,有些關鍵服務必須保證穩定,有些是數據節點,磁碟三天兩頭損耗,網路可能被壓得不堪重負。你需要一個靠譜的人設計網路布局,設計運維規范,架設監控,值班團隊走起7*24小時隨時准備出台。然後上面再有平台組真的大數據平台走起。
然後是選型,如果有技術實力,可以直接用社區的一整套,自己管起來,監控部署什麼的自己走起。這個階段部署監控和用戶管理什麼的都不可能像兩三個節點那樣人肉搞了,配置管理,部署管理都需要專門的平台和組件;定期Review用戶的作業和使用情況,決定是否擴容,清理數據等等。否則等機器和業務進一步增加,團隊可能會死的很慘,疲於奔命,每天事故不斷,進入惡性循環。
當然有金錢實力的大戶可以找Cloudera,Hortonworks,國內可以找華為星環,會省不少事,適合非互聯網土豪。當然互聯網公司也有用這些東西的,比如Ebay。
接下去你可能需要一些重量的組件幫你做一些事情。
比如你的數據接入,之前可能找個定時腳本或者爬log發包找個伺服器接收寫入HDFS,現在可能不行了,這些大概沒有高性能,沒有異常保障,你需要更強壯的解決方案,比如Flume之類的。
你的業務不斷壯大,老闆需要看的報表越來越多,需要訓練的數據也需要清洗,你就需要任務調度,比如oozie或者azkaban之類的,這些系統幫你管理關鍵任務的調度和監控。
數據分析人員的數據大概可能漸漸從RDBMS搬遷到集群了,因為傳統資料庫已經完全hold不住了,但他們不會寫代碼,所以你上馬了Hive。然後很多用戶用了Hive覺得太慢,你就又上馬交互分析系統,比如Presto,Impala或者SparkSQL。
你的數據科學家需要寫ML代碼,他們跟你說你需要Mahout或者Spark MLLib,於是你也部署了這些。
至此可能數據平台已經是工程師的日常工作場所了,大多數業務都會遷移過來。這時候你可能面臨很多不同的問題。
比如各個業務線數據各種數據表多的一塌糊塗,不管是你還是寫數據的人大概都不知道數據從哪兒來,接下去到哪兒去。你就自己搞了一套元數據管理的系統。
你分析性能,發現你們的數據都是上百Column,各種復雜的Query,裸存的Text格式即便壓縮了也還是慢的要死,於是你主推用戶都使用列存,Parquet,ORC之類的。
又或者你發現你們的ETL很長,中間生成好多臨時數據,於是你下狠心把pipeline改寫成Spark了。
再接下來也許你會想到花時間去維護一個門戶,把這些零散的組件都整合到一起,提供統一的用戶體驗,比如一鍵就能把數據從資料庫chua一下拉到HDFS導入Hive,也能一鍵就chua一下再搞回去;點幾下就能設定一個定時任務,每天跑了給老闆自動推送報表;或者點一下就能起一個Storm的topology;或者界面上寫幾個Query就能查詢Hbase的數據。這時候你的數據平台算是成型了。
當然,磕磕碰碰免不了。每天你都有新的問題和挑戰,否則你就要失業了不是?
你發現社區不斷在解決你遇到過的問題,於是你們架構師每天分出很多時間去看社區的進展,有了什麼新工具,有什麼公司發布了什麼項目解決了什麼問題,興許你就能用上。
上了這些亂七八糟的東西,你以為就安生了?Hadoop平台的一個大特點就是坑多。尤其是新做的功能新起的項目。對於平台組的人,老闆如果知道這是天然坑多的平台,那他也許會很高興,因為跟進社區,幫忙修bug,一起互動其實是很提升公司影響力的實情。當然如果老闆不理解,你就自求多福吧,招幾個老司機,出了問題能馬上帶路才是正道。當然團隊的技術積累不能不跟上,因為數據平台還是亂世,三天不跟進你就不知道世界是什麼樣了。任何一個新技術,都是坑啊坑啊修啊修啊才完善的。如果是關鍵業務換技術,那需要小心再小心
6. 科普Spark,Spark是什麼,如何使用Spark
科普Spark,Spark是什麼,如何使用Spark
1.Spark基於什麼演算法的分布式計算(很簡單)
2.Spark與MapRece不同在什麼地方
3.Spark為什麼比Hadoop靈活
4.Spark局限是什麼
5.什麼情況下適合使用Spark
Spark與Hadoop的對比
Spark的中間數據放到內存中,對於迭代運算效率更高。
Spark更適合於迭代運算比較多的ML和DM運算。因為在Spark裡面,有RDD的抽象概念。
Spark比Hadoop更通用
Spark提供的數據集操作類型有很多種,不像Hadoop只提供了Map和Rece兩種操作。比如map, filter, flatMap, sample, groupByKey, receByKey, union, join, cogroup, mapValues, sort,partionBy等多種操作類型,Spark把這些操作稱為Transformations。同時還提供Count, collect, rece, lookup, save等多種actions操作。
這些多種多樣的數據集操作類型,給給開發上層應用的用戶提供了方便。各個處理節點之間的通信模型不再像Hadoop那樣就是唯一的Data Shuffle一種模式。用戶可以命名,物化,控制中間結果的存儲、分區等。可以說編程模型比Hadoop更靈活。
不過由於RDD的特性,Spark不適用那種非同步細粒度更新狀態的應用,例如web服務的存儲或者是增量的web爬蟲和索引。就是對於那種增量修改的應用模型不適合。
容錯性
在分布式數據集計算時通過checkpoint來實現容錯,而checkpoint有兩種方式,一個是checkpoint data,一個是logging the updates。用戶可以控制採用哪種方式來實現容錯。
可用性
Spark通過提供豐富的Scala, Java,Python API及互動式Shell來提高可用性。
Spark與Hadoop的結合
Spark可以直接對HDFS進行數據的讀寫,同樣支持Spark on YARN。Spark可以與MapRece運行於同集群中,共享存儲資源與計算,數據倉庫Shark實現上借用Hive,幾乎與Hive完全兼容。
Spark的適用場景
Spark是基於內存的迭代計算框架,適用於需要多次操作特定數據集的應用場合。需要反復操作的次數越多,所需讀取的數據量越大,受益越大,數據量小但是計算密集度較大的場合,受益就相對較小(大資料庫架構中這是是否考慮使用Spark的重要因素)
由於RDD的特性,Spark不適用那種非同步細粒度更新狀態的應用,例如web服務的存儲或者是增量的web爬蟲和索引。就是對於那種增量修改的應用模型不適合。總的來說Spark的適用面比較廣泛且比較通用。
運行模式
本地模式
Standalone模式
Mesoes模式
yarn模式
Spark生態系統
Shark ( Hive on Spark): Shark基本上就是在Spark的框架基礎上提供和Hive一樣的H iveQL命令介面,為了最大程度的保持和Hive的兼容性,Shark使用了Hive的API來實現query Parsing和 Logic Plan generation,最後的PhysicalPlan execution階段用Spark代替Hadoop MapRece。通過配置Shark參數,Shark可以自動在內存中緩存特定的RDD,實現數據重用,進而加快特定數據集的檢索。同時,Shark通過UDF用戶自定義函數實現特定的數據分析學習演算法,使得SQL數據查詢和運算分析能結合在一起,最大化RDD的重復使用。
Spark streaming: 構建在Spark上處理Stream數據的框架,基本的原理是將Stream數據分成小的時間片斷(幾秒),以類似batch批量處理的方式來處理這小部分數據。Spark Streaming構建在Spark上,一方面是因為Spark的低延遲執行引擎(100ms+)可以用於實時計算,另一方面相比基於Record的其它處理框架(如Storm),RDD數據集更容易做高效的容錯處理。此外小批量處理的方式使得它可以同時兼容批量和實時數據處理的邏輯和演算法。方便了一些需要歷史數據和實時數據聯合分析的特定應用場合。
Bagel: Pregel on Spark,可以用Spark進行圖計算,這是個非常有用的小項目。Bagel自帶了一個例子,實現了Google的PageRank演算法。
End.
7. 如何學習Spark大數據
主要學習Spark大數據概念、 基本原理、與Hadoop的區別與聯系、Spark開發環境搭建、 Spark集群、內 Scala開發語言、IntelliJ IDEA開發工具使用容、Spark SQL數據存取、Spark Streaming流式計算、Spark MLlib機器學習、Spark Graphx圖計算等內容。
8. spark1.x大數據平台v2怎樣看不了
在這里,談談如何讓我們創建的詞條快速通過網路的審核,同時也向新的一屆選手傳授點經驗,少走些彎路。 一.圍繞網路所要求的去編創詞條。首先主題要明確,就如寫作為一樣不要偏題。行文要通順,這點做到了就是符合網路所要求的可讀性要強了。如我上一屆編寫的詞條新競爭力 1.確定準確的詞條。 2、 確定第一標題 。 3、確定第二標題。 先確定好這三部分,我們的目的是先通過,讓顯示出來後期再做補充完善。前期是簡明扼要為主,文字盡量表達到位,精煉最好。二.盡量不要出現多個關鍵詞重疊,避免廣告嫌疑。網路有專門的審核網路的工作人員,這些人每天要面對成千上萬條詞條的海量審核工作,工作量可想而知,一般每條詞條都是大體上看一遍覺得順,而且沒有覺得創建者故意堆砌關鍵詞、放產品名稱做廣告,這類型的詞條就極其容易通過。三.詞條編輯好了,提交後期要善於投訴。這一點我相信很多人沒有認真去做。據我們觀察,一般無法通過的詞條網路要麼以詞條可讀性不強,要麼就是有廣告嫌疑為由拒絕,只要你稍微修改一下,到貼吧投訴,記住一定要積極去投訴,和他們的編輯保持一個良性的互動,一般兩次之內一定能夠通過審核並正常的顯示了。當然通過了以後也要去貼吧回復一下謝謝他們。 希望我的觀點能對您有幫助.
9. 什麼是Spark
雪佛蘭斯帕可(Spark)是上海通用汽車雪佛蘭推出的首款1.0排量高端進口微型車,原名樂馳。於2010年12月底正式上市,排量均為1.0的兩款車型分別是斯帕可1.0SEMT(經濟手動款)和斯帕可1.0SXAT(豪華自動款),售價為6.78-8.86萬元,油耗為5.6L-6.2L,主要競爭對手定位為大眾POLO,現代i30、瑞納(兩廂),東風悅達起亞K2(兩廂),鈴木雨燕、北斗星等A00級小型車。
品牌斯帕可SPARK2011款1.0SEMT
生產廠商雪佛蘭(進口)
參考價格6.78-8.86萬元
車型尺寸3640*1597*1522
最高時速151km/h
驅動方式前置前驅
制動方式通風鼓式
軸距2375毫米
行李艙容積170升
油箱容積35升
標准座位數5
10. spark和hadoop的區別
直接比較Hadoop和Spark有難度,因為它們處理的許多任務都一樣,但是在一些方面又並不相互重疊。
比如說,Spark沒有文件管理功能,因而必須依賴Hadoop分布式文件系統(HDFS)或另外某種解決方案。
Hadoop框架的主要模塊包括如下:
Hadoop Common
Hadoop分布式文件系統(HDFS)
Hadoop YARN
Hadoop MapRece
雖然上述四個模塊構成了Hadoop的核心,不過還有其他幾個模塊。這些模塊包括:Ambari、Avro、Cassandra、Hive、 Pig、Oozie、Flume和Sqoop,它們進一步增強和擴展了Hadoop的功能。
Spark確實速度很快(最多比Hadoop MapRece快100倍)。Spark還可以執行批量處理,然而它真正擅長的是處理流工作負載、互動式查詢和機器學習。
相比MapRece基於磁碟的批量處理引擎,Spark賴以成名之處是其數據實時處理功能。Spark與Hadoop及其模塊兼容。實際上,在Hadoop的項目頁面上,Spark就被列為是一個模塊。
Spark有自己的頁面,因為雖然它可以通過YARN(另一種資源協調者)在Hadoop集群中運行,但是它也有一種獨立模式。它可以作為 Hadoop模塊來運行,也可以作為獨立解決方案來運行。
MapRece和Spark的主要區別在於,MapRece使用持久存儲,而Spark使用彈性分布式數據集(RDDS)。
性能
Spark之所以如此快速,原因在於它在內存中處理一切數據。沒錯,它還可以使用磁碟來處理未全部裝入到內存中的數據。
Spark的內存處理為來自多個來源的數據提供了近乎實時分析的功能:營銷活動、機器學習、物聯網感測器、日誌監控、安全分析和社交媒體網站。另 外,MapRece使用批量處理,其實從來就不是為驚人的速度設計的。它的初衷是不斷收集來自網站的信息,不需要這些數據具有實時性或近乎實時性。
易用性
支持Scala(原生語言)、Java、Python和Spark SQL。Spark SQL非常類似於SQL 92,所以幾乎不需要經歷一番學習,馬上可以上手。
Spark還有一種交互模式,那樣開發人員和用戶都可以獲得查詢和其他操作的即時反饋。MapRece沒有交互模式,不過有了Hive和Pig等附加模塊,採用者使用MapRece來得容易一點。
成本
「Spark已證明在數據多達PB的情況下也輕松自如。它被用於在數量只有十分之一的機器上,對100TB數據進行排序的速度比Hadoop MapRece快3倍。」這一成績讓Spark成為2014年Daytona GraySort基準。
兼容性
MapRece和Spark相互兼容;MapRece通過JDBC和ODC兼容諸多數據源、文件格式和商業智能工具,Spark具有與MapRece同樣的兼容性。
數據處理
MapRece是一種批量處理引擎。MapRece以順序步驟來操作,先從集群讀取數據,然後對數據執行操作,將結果寫回到集群,從集群讀 取更新後的數據,執行下一個數據操作,將那些結果寫回到結果,依次類推。Spark執行類似的操作,不過是在內存中一步執行。它從集群讀取數據後,對數據 執行操作,然後寫回到集群。
Spark還包括自己的圖形計算庫GraphX。GraphX讓用戶可以查看與圖形和集合同樣的數據。用戶還可以使用彈性分布式數據集(RDD),改變和聯合圖形,容錯部分作了討論。
容錯
至於容錯,MapRece和Spark從兩個不同的方向來解決問題。MapRece使用TaskTracker節點,它為 JobTracker節點提供了心跳(heartbeat)。如果沒有心跳,那麼JobTracker節點重新調度所有將執行的操作和正在進行的操作,交 給另一個TaskTracker節點。這種方法在提供容錯性方面很有效,可是會大大延長某些操作(即便只有一個故障)的完成時間。
Spark使用彈性分布式數據集(RDD),它們是容錯集合,裡面的數據元素可執行並行操作。RDD可以引用外部存儲系統中的數據集,比如共享式文件系統、HDFS、HBase,或者提供Hadoop InputFormat的任何數據源。Spark可以用Hadoop支持的任何存儲源創建RDD,包括本地文件系統,或前面所列的其中一種文件系統。
RDD擁有五個主要屬性:
分區列表
計算每個分片的函數
依賴其他RDD的項目列表
面向鍵值RDD的分區程序(比如說RDD是散列分區),這是可選屬性
計算每個分片的首選位置的列表(比如HDFS文件的數據塊位置),這是可選屬性
RDD可能具有持久性,以便將數據集緩存在內存中。這樣一來,以後的操作大大加快,最多達10倍。Spark的緩存具有容錯性,原因在於如果RDD的任何分區丟失,就會使用原始轉換,自動重新計算。
可擴展性
按照定義,MapRece和Spark都可以使用HDFS來擴展。那麼,Hadoop集群能變得多大呢?
據稱雅虎有一套42000個節點組成的Hadoop集群,可以說擴展無極限。最大的已知Spark集群是8000個節點,不過隨著大數據增多,預計集群規模也會隨之變大,以便繼續滿足吞吐量方面的預期。
安全
Hadoop支持Kerberos身份驗證,這管理起來有麻煩。然而,第三方廠商讓企業組織能夠充分利用活動目錄Kerberos和LDAP用於身份驗證。同樣那些第三方廠商還為傳輸中數據和靜態數據提供數據加密。
Hadoop分布式文件系統支持訪問控制列表(ACL)和傳統的文件許可權模式。Hadoop為任務提交中的用戶控制提供了服務級授權(Service Level Authorization),這確保客戶擁有正確的許可權。
Spark的安全性弱一點,目前只支持通過共享密鑰(密碼驗證)的身份驗證。Spark在安全方面帶來的好處是,如果你在HDFS上運行Spark,它可以使用HDFS ACL和文件級許可權。此外,Spark可以在YARN上運行,因而能夠使用Kerberos身份驗證。
總結
Spark與MapRece是一種相互共生的關系。Hadoop提供了Spark所沒有的功能特性,比如分布式文件系統,而Spark 為需要它的那些數據集提供了實時內存處理。完美的大數據場景正是設計人員當初預想的那樣:讓Hadoop和Spark在同一個團隊裡面協同運行。