初識大資料入門

2021-10-04 09:58:40 字數 2261 閱讀 9358

大資料平台從平台部署和資料分析過程分以下幾步:

一、linux系統安裝

一般使用開源版的redhat系統–centos作為底層平台。為了提供穩定的硬體基礎,在給硬碟做raid和掛載資料儲存節點的時,需要按情況配置。例如,可以選擇給hdfs的namenode做raid2以提高其穩定性,將資料儲存與作業系統分別放置在不同硬碟上,以確保作業系統的正常執行。

二、分布式計算平台/元件安裝

國內外的分布式系統的大多使用的是hadoop系列開源系統。hadoop的核心是hdfs,乙個分布式的檔案系統。在其基礎上常用的元件有yarn、zookeeper、hive、hbase、sqoop、impala、elasticsearch、spark等。

先說下使用開源元件的優點:

1)使用者眾多,很多bug可以在網上找的答案(這往往是開發中最耗時的地方)。

2)開源元件一般免費,學習和維護相對方便。

3)開源元件一般會持續更新,提供必要的更新服務『當然還需要手動做更新操作』。

4)因為**開源,若出bug可自由對原始碼作修改維護。

再簡略講講各元件的功能。分布式集群的資源管理器一般用yarn,『全名是yet another resource negotiator』。常用的分布式資料『倉』庫有hive、hbase。hive可以用sql查詢『但效率略低』,hbase可以快速『近實時』讀取行。外部資料庫匯入匯出需要用到sqoop。sqoop將資料從oracle、mysql等傳統資料庫匯入hive或hbase。zookeeper是提供資料同步服務,yarn和hbase需要它的支援。impala是對hive的乙個補充,可以實現高效的sql查詢。elasticsearch是乙個分布式的搜尋引擎。針對分析,目前最火的是spark『此處忽略其他,如基礎的mapreduce 和 flink』。spark在core上面有ml lib,spark streaming、spark ql和graphx等庫,可以滿足幾乎所有常見資料分析需求。

值得一提的是,上面提到的元件,如何將其有機結合起來,完成某個任務,不是乙個簡單的工作,可能會非常耗時。

三、資料匯入

前面提到,資料匯入的工具是sqoop。用它可以將資料從檔案或者傳統資料庫匯入到分布式平台『一般主要匯入到hive,也可將資料匯入到hbase』。

四、資料分析

資料分析一般包括兩個階段:資料預處理和資料建模分析。

資料預處理是為後面的建模分析做準備,主要工作時從海量資料中提取可用特徵,建立大寬表。這個過程可能會用到hive sql,spark ql和impala。

資料建模分析是針對預處理提取的特徵/資料建模,得到想要的結果。如前面所提到的,這一塊最好用的是spark。常用的機器學習演算法,如樸素貝葉斯、邏輯回歸、決策樹、神經網路、tfidf、協同過濾等,都已經在ml lib裡面,呼叫比較方便。

五、結果視覺化及輸出api

視覺化一般式對結果或部分原始資料做展示。一般有兩種情況,行資料展示,和列查詢展示。在這裡,要基於大資料平台做展示,會需要用到elasticsearch和hbase。hbase提供快速『ms級別』的行查詢。 elasticsearch可以實現列索引,提供快速列查詢。

平台搭建主要問題:

一、穩定性 stability

理論上來說,穩定性是分布式系統最大的優勢,因為它可以通過多台機器做資料及程式執行備份以確保系統穩定。但也由於大資料平台部署於多台機器上,配置不合適,也可能成為最大的問題。 曾經遇到的乙個問題是hbase經常掛掉,主要原因是採購的硬碟質量較差。硬碟損壞有時會到導致hbase同步出現問題,因而導致hbase服務停止。由於硬碟質量較差,隔三差五會出現服務停止現象,耗費大量時間。結論:大資料平台相對於超算確實廉價,但是配置還是必須高於家用電腦的。

二、可擴充套件性 scalability

如何快速擴充套件已有大資料平台,在其基礎上擴充新的機器是雲計算等領域應用的關鍵問題。在實際2b的應用中,有時需要增減機器來滿足新的需求。如何在保留原有功能的情況下,快速擴充平台是實際應用中的常見問題。

上述是自己專案實踐的總結。整個平台搭建過程耗時耗力,非一兩個人可以完成。乙個小團隊要真正做到這些也需要耗費很長時間。

目前國內和國際上已有多家公司提供大資料平台搭建服務,國外有名的公司有cloudera,hortonworks,mapr等,國內也有華為、明略資料、星環等。另外有些公司如明略資料等還提供一體化的解決方案,尋求這些公司合作對 於入門級的大資料企業或沒有大資料分析能力的企業來說是最好的解決途徑。

對於一些本身體量較小或者目前資料量積累較少的公司,個人認為沒有必要搭建這一套系統,暫時先租用aws和阿里雲就夠了。對於資料量大,但資料分析需求較簡單的公司,可以直接買tableau,splunk,hp vertica,或者ibm db2等軟體或服務即可。

大資料入門學習(一) 初識大資料

大資料的定義 大資料 big data 又稱為巨量資料,指需要新處理模式才能具有更強的決策力 洞察力和流程優化能力的海量 高增長率和多樣化的資訊資產。大資料技術,是指從各種各樣型別的資料中,快速獲得有價值資訊的能力。適用於大資料的技術,包括大規模並行處理 mpp 資料庫,資料探勘電網,分布式檔案系統...

初識大資料

大資料 big data 是指無法在一定時間範圍內用常規軟體工具進行捕捉 管理和處理的資料集合,是需要新處理模式才能具有更強的決策力 洞察發現力和流程優化能力的海量 高增長率和多樣化的資訊資產。大資料指的是不用傳統的抽樣調查這樣的捷徑,而採用所有資料進行分析處理 volume 大量 資料的大小決定所...

初識大資料

大資料是指對巨量不同種類資料 可達pb級別數量 進行智慧型的收集 儲存 挖掘分析,面向具體的行業應用,把大量離散的價值密度低的資料加工形成具有高商業價值的資料處理技術,以幫助企業機構更準確地做出趨勢判斷 進行精確營銷和實現精細化運營等。5g的通訊即將來到,資料 式增長,以及資料處理的實時性要求越來越...