當前位置:編程學習大全網 - 編程語言 - 建設了幾個系統平臺 哪些數據

建設了幾個系統平臺 哪些數據

(1)操作系統的選擇操作系統壹般使用開源版的RedHat、Centos或者Debian作為底層的構建平臺,要根據大數據平臺所要搭建的數據分析工具可以支持的系統,正確的選擇操作系統的版本。

(2)搭建Hadoop集群Hadoop作為壹個開發和運行處理大規模數據的軟件平臺,實現了在大量的廉價計算機組成的集群中對海量數據進行分布式計算。Hadoop框架中最核心的設計是HDFS和MapReduce,HDFS是壹個高度容錯性的系統,適合部署在廉價的機器上,能夠提供高吞吐量的數據訪問,適用於那些有著超大數據集的應用程序;MapReduce是壹套可以從海量的數據中提取數據最後返回結果集的編程模型。在生產實踐應用中,Hadoop非常適合應用於大數據存儲和大數據的分析應用,適合服務於幾千臺到幾萬臺大的服務器的集群運行,支持PB級別的存儲容量。Hadoop家族還包含各種開源組件,比如Yarn,Zookeeper,Hbase,Hive,Sqoop,Impala,Spark等。使用開源組件的優勢顯而易見,活躍的社區會不斷的叠代更新組件版本,使用的人也會很多,遇到問題會比較容易解決,同時代碼開源,高水平的數據開發工程師可結合自身項目的需求對代碼進行修改,以更好的為項目提供服務。

(3)選擇數據接入和預處理工具面對各種來源的數據,數據接入就是將這些零散的數據整合在壹起,綜合起來進行分析。數據接入主要包括文件日誌的接入、數據庫日誌的接入、關系型數據庫的接入和應用程序等的接入,數據接入常用的工具有Flume,Logstash,NDC(網易數據運河系統),sqoop等。對於實時性要求比較高的業務場景,比如對存在於社交網站、新聞等的數據信息流需要進行快速的處理反饋,那麽數據的接入可以使用開源的Strom,Sparkstreaming等。當需要使用上遊模塊的數據進行計算、統計和分析的時候,就需要用到分布式的消息系統,比如基於發布/訂閱的消息系統kafka。還可以使用分布式應用程序協調服務Zookeeper來提供數據同步服務,更好的保證數據的可靠和壹致性。數據預處理是在海量的數據中提取出可用特征,建立寬表,創建數據倉庫,會使用到HiveSQL,SparkSQL和Impala等工具。隨著業務量的增多,需要進行訓練和清洗的數據也會變得越來越復雜,可以使用azkaban或者oozie作為工作流調度引擎,用來解決有多個hadoop或者spark等計算任務之間的依賴關系問題。

(4)數據存儲除了Hadoop中已廣泛應用於數據存儲的HDFS,常用的還有分布式、面向列的開源數據庫Hbase,HBase是壹種key/value系統,部署在HDFS上,與Hadoop壹樣,HBase的目標主要是依賴橫向擴展,通過不斷的增加廉價的商用服務器,增加計算和存儲能力。同時hadoop的資源管理器Yarn,可以為上層應用提供統壹的資源管理和調度,為集群在利用率、資源統壹等方面帶來巨大的好處。Kudu是壹個圍繞Hadoop生態圈建立的存儲引擎,Kudu擁有和Hadoop生態圈***同的設計理念,可以運行在普通的服務器上,作為壹個開源的存儲引擎,可以同時提供低延遲的隨機讀寫和高效的數據分析能力。Redis是壹種速度非常快的非關系型數據庫,可以將存儲在內存中的鍵值對數據持久化到硬盤中,可以存儲鍵與5種不同類型的值之間的映射。

(5)選擇數據挖掘工具Hive可以將結構化的數據映射為壹張數據庫表,並提供HQL的查詢功能,它是建立在Hadoop之上的數據倉庫基礎架構,是為了減少MapReduce編寫工作的批處理系統,它的出現可以讓那些精通SQL技能、但是不熟悉MapReduce、編程能力較弱和不擅長Java的用戶能夠在HDFS大規模數據集上很好的利用SQL語言查詢、匯總、分析數據。Impala是對Hive的壹個補充,可以實現高效的SQL查詢,但是Impala將整個查詢過程分成了壹個執行計劃樹,而不是壹連串的MapReduce任務,相比Hive有更好的並發性和避免了不必要的中間sort和shuffle。Spark可以將Job中間輸出結果保存在內存中,不需要讀取HDFS,Spark啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化叠代工作負載。Solr是壹個運行在Servlet容器的獨立的企業級搜索應用的全文搜索服務器,用戶可以通過http請求,向搜索引擎服務器提交壹定格式的XML,生成索引,或者通過HTTPGET操作提出查找請求,並得到XML格式的返回結果。還可以對數據進行建模分析,會用到機器學習相關的知識,常用的機器學習算法,比如貝葉斯、邏輯回歸、決策樹、神經網絡、協同過濾等。

(6)數據的可視化以及輸出API對於處理得到的數據可以對接主流的BI系統,比如國外的Tableau、Qlikview、PowrerBI等,國內的SmallBI和新興的網易有數(可免費試用)等,將結果進行可視化,用於決策分析;或者回流到線上,支持線上業務的發展。成熟的搭建壹套大數據分析平臺不是壹件簡單的事情,本身就是壹項復雜的工作,在這過程中需要考慮的因素有很多,比如:穩定性,可以通過多臺機器做數據和程序運行的備份,但服務器的質量和預算成本相應的會限制平臺的穩定性;可擴展性:大數據平臺部署在多臺機器上,如何在其基礎上擴充新的機器是實際應用中經常會遇到的問題;安全性:保障數據安全是大數據平臺不可忽視的問題,在海量數據的處理過程中,如何防止數據的丟失和泄漏壹直是大數據安全領域的研究熱點。

  • 上一篇:為兒子以後泡妞著想,應該讓他學吉他還是學鋼琴?
  • 下一篇:漫威超級英雄的能力在現實生活能實現嗎?
  • copyright 2024編程學習大全網