91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hadoop生態圈的詳解

發布時間:2020-06-10 03:55:47 來源:網絡 閱讀:8132 作者:cpaqyx 欄目:關系型數據庫

學習和使用hadoop有一年了,這里主要分享一下對hadoop整體上的理解,分門別類的介紹一下相關組件,最后提供了建議的學習路線,希望對hadoop的初學者有參考作用。

 

1.      Hadoop核心件組有哪些? 廣義hadoop指什么?

  • 核心組件有:HdfsYarnMapReduce;

  • 廣義上指一個生態圈,泛指大數據技術相關的開源組件或產品,如hdfsyarnhbasehivesparkpigzookeeperkafkaflumephoenixsqoop

 

2.      Sparkhadoop之間有什么聯系

  • Spark也是一個生態圈,發展非很快,在計算方面比mapreduce要快很多倍,供了一個簡單而豐富的編程模型,支持多種應用,包括ETL、機器學習、數據流處理、圖形計算;

  • HadoopSpark在某些方面有重疊,但組件之間都可以很好的協同作戰。

 

3.      分門別類介紹其中詳細組件

為了方便理解以下按照功能進行了分類,并且把較為流行的排在了前面介紹,列表如下:

分類

相關產品

文件系統

        HDFS,目前大量采用的分布式文件系統,是整個大數據應用場景的基礎通用文件存儲組件

        S3, Simple Storage Service簡單存儲服務,更好的可擴展性,內置的持久性,以及較低的價格

資源調度

        YARN,分布式資源調度,可以接收計算的任務把它分配到集群各節點處理,相當于大數據操作系統,通用性好,生態支持好;

        Mesos,同YARN類似,偏向于資源的抽象和管理

計算框架

        Spark序列,有流計算、圖計算、機器學習;

        Flink,支持計算數據不斷變化,即增量計算;

        Storm,專注于流式計算,功能強大;

        Mapreduce, 分布式計算基本計算框架,編程難度高,執行效率低

數據庫

        Hbase,一種NoSQL列簇數據庫,支持數十億行數百萬列大型數據儲存和訪問,尤其是寫數據的性能非常好,數據讀取實時性較好,提供一套API,不支持SQL操作,數據存儲采用HDFS

        Cassandra,對大型表格和 Dynamo支持得最好;

        Redis,運行異常快,還可應用于分布式緩存場景

SQL支持

        Spark SQL,由SharkHive發展而來的,以SQL方式訪問數據源(如hdfshbaseS3redis甚至關系統數據庫等,下同);

        Phoenix,一套專注于SQL方式訪問hbaseJDBC驅動,支持絕大部分SQL語法,支持二級索引,支持事務,低延時;

        Hive,通過HQL(類似SQL)來統計分析生成查詢結果,通過解析HQL生成可以Mapreduce上執行的任務,典型的應用場景是與hbase集成;

        其它:impalapig等,都實現了類似的功能,解決了直接寫map/reduce分析數據的復雜性,降低了數據分析工作者或開發人員使用大數據的門檻

其它工具

        分布式協作zookeeper,可以理解為一個小型高性能的數據庫,為生態圈中與很多組件提供發布訂閱的功能,還可以監測節點是否失效(心跳檢測),如HBaseKafka中利用zookeeper存放了主從節點信息;

        Kafka, 是一種分布式的,基于發布/訂閱的消息系統,類似于消息對列的功能,可以接收生產者(如webservice、文件、hdfshbase等)的數據,本身可以緩存起來,然后可以發送給消費者(同上),起到緩沖和適配的作;

        Flume,分布式的海量日志采集、聚合和傳輸的系統,主要作用是數據的收集和傳輸,也支持非常多的輸入輸出數據源;

        Sqoop,主要用于在Hadoop(Hive)與傳統的數據庫(mysqlpostgresql...)間進行數據的傳遞,可以將一個關系型數據庫(例如 MySQL ,Oracle ,Postgres等)中的數據導進到HadoopHDFS中,也可以將HDFS的數據導進到關系型數據庫中

 

4.      典型的組合使用場景

HadoopSpark生態圈的組件是相互配合使用的,每個組件都有自己“用武之地”,組合起來完成即可以滿足各種系統業務需求,下面列舉兩個例子:

1)數據采集、存儲、分析場景

該場景下完成了整個數據的采集、存儲、分析,并輸出結果,組件搭配如下:

Flume + kafka(zookeeper)+ Hdfs + Spark/Storm/Hive + Hbase (ZookeeperHdfs) /Redis

說明如下:

  • Flume用來從種渠道(如httpexec、文件、kafka , …)收集數據,并發送到kaffka(當然也可以存放到hdfshbasefile…)

  • Kafka可以緩存數據,與flume一樣也支持各種協議的輸入和輸出,由于kafka需要zookeeper來完成負載均衡HA,所以需要zookeeper來支持

  • 開始計算,這里有三種選擇,Spark/Storm/Hive,各有優勢,相對Hive目前仍使用廣泛,該技術出現的較早;Storm專注于流式處理,延遲非常低; Spark最有前景的計算工具;不管用什么,最終都是對數據的清理、統計,把得到的結果輸出

  • 展示結果數據存儲,可以使用Hbase kafka(zookeeper) /Redismysql等,看使用場景(數據量大小等因素),由于處理之后的結果數據一般比較少可以直接放到Redis,然后就可以采用常規的技術展示出報表或其它消費方式使用這些計算后的結果數據

 

2)數據存儲和實時訪問

這種場景非常類似常規應用開發場景,即通過javaJDBC來訪問大數據集群,組件搭配:

Jdbc + Solr + Phoenix/Spark sql + Hbase kafka(zookeeper) + Hdfs

說明如下:

  • Jdbc是通用的java操作數據庫的方式,使用的是sql語句

  • Solr為全文檢索,完成站點分詞搜索功能

  • Phoenix/Spark sql方便以jdbc方式訪問Hbase數據庫

  • Hdfs最終完成數據的物理存儲

5.      建議的學習線路

僅憑個人經驗,大概的分了三個階段,如下:

hadoop生態圈的詳解


打個廣告,最近錄了一門課程,大部分是免費的,忙我湊湊人氣哦!請點擊 HBase 設計和編程開發視頻課程


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博白县| 青川县| 建平县| 民丰县| 普格县| 怀柔区| 太白县| 梁平县| 岳阳县| 维西| 云南省| 静安区| 宁蒗| 上高县| 临夏县| 二连浩特市| 东城区| 南乐县| 广汉市| 石嘴山市| 光泽县| 铜川市| 陇南市| 乐亭县| 奈曼旗| 泰顺县| 游戏| 禄劝| 嵊州市| 东山县| 台北市| 伊宁县| 博白县| 上高县| 莱西市| 大同县| 比如县| 郯城县| 育儿| 德庆县| 建湖县|