大資料開發你需要知道的十個技術

2021-09-19 19:21:34 字數 2025 閱讀 2971

「當你不創造東西時,你只會根據自己的感覺而不是能力去看待問題。」 – whytheluckystiff

彙總一些自己在大資料路上走過的彎路,願大家不再掉坑…

1.分布式儲存

傳統化集中式儲存存在已有一段時間。但大資料並非真的適合集中式儲存架構。hadoop設計用於將計算更接近資料節點,同時採用了hdfs檔案系統的大規模橫向擴充套件功能。

雖然,通常解決hadoop管理自身資料低效性的方案是將hadoop 資料儲存在san上。但這也造成了它自身效能與規模的瓶頸。現在,如果你把所有的資料都通過集中式san處理器進行處理,與hadoop的分布式和並行化特性相悖。你要麼針對不同的資料節點管理多個san,要麼將所有的資料節點都集中到乙個san。

但hadoop是乙個分布式應用,就應該執行在分布式儲存上,這樣儲存就保留了與hadoop本身同樣的靈活性,不過它也要求擁抱乙個軟體定義儲存方案,並在商用伺服器上執行,這相比瓶頸化的hadoop自然更為高效。

2.超融合vs分布式

注意,不要混淆超融合與分布式。某些超融合方案是分布式儲存,但通常這個術語意味著你的應用和儲存都儲存在同一計算節點上。這是在試**決資料本地化的問題,但它會造成太多資源爭用。這個hadoop應用和儲存平台會爭用相同的記憶體和cpu。hadoop執行在專有應用層,分布式儲存執行在專有儲存層這樣會更好。之後,利用快取和分層來解決資料本地化並補償網路效能損失。

3.避免控制器瓶頸(controller choke point)

實現目標的乙個重要方面就是——避免通過單個點例如乙個傳統控制器來處理資料。反之,要確保儲存平台並行化,效能可以得到顯著提公升。

此外,這個方案提供了增量擴充套件性。為資料湖新增功能跟往裡面扔x86伺服器一樣簡單。乙個分布式儲存平台如有需要將自動新增功能並重新調整資料。

4.刪重和壓縮

掌握大資料的關鍵是刪重和壓縮技術。通常大資料集內會有70%到90%的資料簡化。以pb容量計,能節約數萬美元的磁碟成本。現代平台提供內聯(對比後期處理)刪重和壓縮,大大降低了儲存資料所需能力。

5.合併hadoop發行版

很多大型企業擁有多個hadoop發行版本。可能是開發者需要或是企業部門已經適應了不同版本。無論如何最終往往要對這些集群的維護與運營。一旦海量資料真正開始影響一家企業時,多個hadoop發行版儲存就會導致低效性。我們可以通過建立乙個單一,可刪重和壓縮的資料湖獲取資料效率

6.虛擬化hadoop

虛擬化已經席捲企業級市場。很多地區超過80%的物理伺服器現在是虛擬化的。但也仍有很多企業因為效能和資料本地化問題對虛擬化hadoop避而不談。

7.建立彈性資料湖

建立資料湖並不容易,但大資料儲存可能會有需求。我們有很多種方法來做這件事,但哪一種是正確的?這個正確的架構應該是乙個動態,彈性的資料湖,可以以多種格式(架構化,非結構化,半結構化)儲存所有資源的資料。更重要的是,它必須支援應用不在遠端資源上而是在本地資料資源上執行。

不幸的是,傳統架構和應用(也就是非分布式)並不盡如人意。隨著資料集越來越大,將應用遷移到資料不可避免,而因為延遲太長也無法倒置。

理想的資料湖基礎架構會實現資料單一副本的儲存,而且有應用在單一資料資源上執行,無需遷移資料或製作副本

8.整合分析

分析並不是乙個新功能,它已經在傳統rdbms環境中存在多年。不同的是基於開源應用的出現,以及資料庫表單和社交**,非結構化資料資源(比如,維基百科)的整合能力。關鍵在於將多個資料型別和格式整合成乙個標準的能力,有利於更輕鬆和一致地實現視覺化與報告製作。合適的工具也對分析/商業智慧型專案的成功至關重要。

10.沒有絕對的贏家

hadoop的確取得了一些進展。那麼隨著大資料儲存遍地開花,它是否會成為贏家,力壓其它方案,其實不然。

比如,基於san的傳統架構在短期內不可取代,因為它們擁有oltp,100%可用性需求的內在優勢。所以最理想的辦法是將超融合平台與分布式檔案系統和分析軟體整合在一起。而成功的最主要因素則是儲存的可擴充套件性因素。

開發前你需要知道的事情

此文給自己提個醒,無論大小專案都應有良好的規範與守則,以免浪費時間在不必要的事情上 1.命名規則確認並統一,資料表,字段,類名 一般由框架決定 方法名 包括面向介面的,內部呼叫的等等 變數名,全域性變數名,輔助函式名.2.確定第三方庫存在的資料夾以及引入方式,中間輔助類所存在資料夾,同樣注意統一命名...

Python開發的十個Tips,你知道幾個?

下面是十個python中很有用的貼士和技巧。其中一些是初學這門語言常常會犯的錯誤。注意 假設我們都用的是python 3 1.列表推導式 你有乙個list bag 1,2,3,4,5 現在你想讓所有元素翻倍,讓它看起來是這個樣子 2,4,6,8,10 大多初學者,根據之前語言的經驗會大概這樣來做 b...

大資料技術熱門十個應用

隨著網際網路 和人工智慧的發展,大資料市場發展越來越火熱,大資料分析人才越來越緊缺,如今大資料分析市場已經快速的滲透到各行業務,那麼哪些大資料技術是剛需?哪些技術有極大的潛在價值?根據弗雷斯特研究公司發布的指數,這裡給出最熱的十個大資料技術 分析 隨著現在硬體和軟體解決方案的成熟,許多公司利用大資料...