您好,登錄后才能下訂單哦!
這篇文章主要講解了“Hadoop與spark是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Hadoop與spark是什么”吧!
Hadoop是什么?
Hadoop在2006年開始成為雅虎項目,隨后晉升為頂級Apache開源項目。它是一種通用的分布式系統基礎架構,具有多個組件:Hadoop分布式文件系統(HDFS),它將文件以Hadoop本機格式存儲并在集群中并行化; YARN,協調應用程序運行時的調度程序; MapReduce,這是實際并行處理數據的算法。Hadoop使用Java編程語言構建,其上的應用程序也可以使用其他語言編寫。用一個Thrift客戶端,用戶可以編寫MapReduce或者Python代碼。
除了這些基本組件外,Hadoop還包括Sqoop,它將關系數據移入HDFS; Hive,一種類似SQL的接口,允許用戶在HDFS上運行查詢; Mahout,機器學習。除了將HDFS用于文件存儲之外,Hadoop現在還可以配置使用S3 buckets或Azure blob作為輸入。
它可以在Apache發行版開源,也可以用Cloudera(規模和范圍最大的Hadoop供應商),MapR或HortonWorks等廠商提供。
Spark是什么?
Spark是一個較新的項目,在2012年誕生在加州大學伯克利分校的AMPLab。它也是一個頂級Apache項目,專注于在集群中并行處理數據,一大區別在于它在內存中運行。
類似于Hadoop讀取和寫入文件到HDFS的概念,Spark使用RDD(彈性分布式數據集)處理RAM中的數據。Spark以獨立模式運行,Hadoop集群可用作數據源,也可與Mesos一起運行。在后一種情況下,Mesos主站將取代Spark主站或YARN以進行調度。
Spark是圍繞Spark Core構建的,Spark Core是驅動調度,優化和RDD抽象的引擎,并將Spark連接到正確的文件系統(HDFS,S3,RDBM或Elasticsearch)。Spark Core上還運行了幾個庫,包括Spark SQL,允許用戶在分布式數據集上運行類似SQL的命令,用于機器學習的MLLib,用于解決圖形問題的GraphX以及允許輸入連續流式日志數據的Streaming。
Spark有幾個API。原始界面是用Scala編寫的,并且由于大量數據科學家的使用,還添加了Python和R接口。Java是編寫Spark作業的另一種選擇。
Databricks是由Spark創始人Matei Zaharia創立的公司,現在負責 Spark開發并為客戶提供Spark分銷。
感謝各位的閱讀,以上就是“Hadoop與spark是什么”的內容了,經過本文的學習后,相信大家對Hadoop與spark是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。