一文讀懂大數據兩大核心技術

今天小編給大家先分享一下大數據的兩大核心技術,知己知彼才能百戰不殆,學習大數據技術也是一樣的道理,要先有一個清晰的了解,才能確保自己全身心的投入學習。

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兩個大數據的核心技術的基礎講解在此就順應結束了,想要提升自己的技術,想要突破自己的技術領域,歡迎撩小編,已經為你準備好了全套的大數據學習資料!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容