读取模式错误,计算引擎操作复杂……面对Hadoop这些问题该如何应对?
作者 |?Monte Zweben
譯者 | 天道酬勤,責編 | Carol
封圖 | CSDN 付費下載自視覺中國
Apache Hadoop于2006年出現在IT領域,它使用商品硬件,為組織提供前所未有的數據量存儲能力。不僅解決了數據集的大小問題,還解決了數據類型問題,比如由物聯網設備、傳感器、服務器和社交媒體生成的數據,企業對這些數據的分析越來越感興趣。數據量、速度和多樣性的結合被普遍稱為大數據。
讀取模式在Hadoop的普及中起著至關重要的作用。企業認為他們不必再擔心定義哪些表包含哪些數據以及它們是如何相互連接的繁瑣過程了—這個過程花了幾個月的時間,而且在完成之前無需執行任何數據倉庫查詢。在這個發展的新世界里,企業在基于Hadoop的存儲庫(稱為數據湖)中存儲盡可能多的數據,并擔心以后如何對其進行分析。
企業開始出現數據湖。這些數據湖由商業大數據分發支持的——平臺中支持許多獨立的開源計算引擎,這些引擎使數據湖以不同方式分析數據。最重要的是,所有這些都是開源的,可以免費試用!不過,用起來會出現什么問題?今天一起來看看。
讀取模式是錯誤的
被譽為Hadoop優勢的特性被證明是其致命弱點。首先,隨著寫模式限制的解除,TB級的結構化和非結構化數據開始流入數據湖。由于Hadoop的數據治理框架和功能仍在定義中,企業難以確定其數據湖的內容和數據沿襲。
另外,數據還沒有準備好。企業對數據湖中的數據失去信心,慢慢地,這些數據湖開始變成數據沼澤。讀取模式的“構建它,它們就會到來”的哲學失敗了。
Hadoop復雜性和管道式的計算引擎
其次,Hadoop發行版提供了許多開源計算引擎,例如Apache Hive,Apache Spark和Apache Kafka,僅舉幾例,但這證明是一件好事。一個恰當的例子—一個商業Hadoop平臺由26個這樣的獨立引擎組成。這些計算引擎操作起來很復雜,需要專門的技術才能將他們連接在一起,這在市場上很難找到。
錯誤的焦點:數據湖與應用程序
第三個也是最重要的一個,由于企業優先考慮將所有企業數據存儲在一個中心位置,所有開發人員都可以使用這些數據——一個數據倉庫,不考慮應用程序如何使用數據,數據湖項目就開始失敗了。
因此,Hadoop集群常常成為企業數據管道的網關,這些數據管道過濾、處理和轉換數據,然后導出到其他數據庫和數據集市,用于下游報告,并且幾乎永遠無法在操作架構中找到通往真實業務應用程序的方式。
數據湖最終變成了一組巨大的完全不同的計算引擎,它們在完全不同的工作負載上運行,共享相同的存儲,這很難管理。這個生態系統中的資源隔離和管理工具正在改善,但它們仍有很長的路要走。所有這些復雜性——只是為了報告。
大多數情況下,企業無法將重點從使用數據湖作為廉價的數據存儲庫和處理管道轉移到使用數據并支持關鍵任務應用程序的平臺。例如,Apache Hive和Apache Spark是Hadoop數據湖中使用最廣泛的計算引擎。這兩種引擎都用于分析目的——處理類似SQL的查詢(Hive)或執行類似SQL的數據轉換并構建預測模型(Spark)。這些數據湖實現對于如何在應用程序中使用數據不夠關注。
未來的戰略
如果你關心Hadoop生態系統的最新發展,在證明數據湖的價值方面面臨越來越大的壓力,那么你應該首先關注操作應用程序,然后再回到數據。
通過關注具有數據和智能的應用程序的現代化,你最終獲得能夠利用數據根據經驗預測未來可能發生的事情的應用程序,并能夠積極主動地做出決策,從而產生卓越的業務結果。以下是成功的應用程序現代化策略的五個要素:
(1)?選擇一個現代化的應用程序:首先,選擇一個你想要現代化的應用程序,而不是集中精力在數據上。最適合的解決方案是是許多在市場上落后的定制應用程序之一,這些應用程序需要變得更加敏捷、智能和數據驅動。一旦確定了可以為你帶來競爭優勢的應用程序,你就可以集中精力采購支持該應用程序所需的數據,以及是否可以從數據湖中獲取該數據。
(2) 使用橫向擴展SQL進行應用程序現代化:多年來,SQL一直是企業工作負載中的主力軍,在你組織中有數百名開發人員,業務分析師和IT人員完全熟悉SQL。不會因為將原始SQL應用程序重寫為低級NOSQL API而產生額外的時間、費用和風險。選擇一個平臺,使你能夠維護SQL的熟悉的模式和強大的功能,使應用程序現代化,但是要在一個能夠在廉價的基礎設施上彈性地向外擴展的架構上實現。橫向擴展使整個群集具有強大的計算能力,使其比在集中式系統上運行的舊SQL系統快得多。通過橫向擴展,你還可以添加更多容量,并隨著工作負載的變化而減少容量。
(3)采用ACID平臺:ACID遵從性是一種機制,通過該機制事務可以維護數據庫中的完整性,并允許用戶執行諸如提交和回滾等操作。對于操作應用程序來說,這是一項至關重要的功能,它可以確保數據庫在發出提交之前,不會使更改對其他人可見。選擇在數據庫中的各個事務級別上提供ACID功能的平臺。否則,所有這些一致性后果都需要在應用程序代碼中處理。所有傳統的SQL系統都兼容ACID。數據湖不滿足這一點,使得應用程序難以編寫。
(4) 結合分析:根據Gartner最近的一篇博客,在過去有充分的理由將IT基礎架構分為操作(OLTP)和分析(OLAP)組件,但現在不再如此。ETL用延遲扼殺了我們的SLA。以前,操作和分析工作負載會相互干擾,必須將它們分開。此外,舊數據平臺的性能非常差,我們必須將操作方案轉換為更適合分析工作負載的星型方案或雪花型方案。ETL不再是必須的,你可以經常使用操作模式在操作平臺上運行分析。通過實現這個平臺,確保你的應用程序在一個平臺上運行,該平臺能夠最大程度地減少數據移動并且不會增加應用程序的延遲。與昨天或上周的數據相比,它提供了你當前的見解,報告和儀表盤。
(5) 嵌入本機機器學習:應用程序現代化的主要原因之一是將AI和ML注入應用程序中,使它從經驗中學習,動態地適應變化并及時做出決策。為了使你的應用程序智能化,選擇一個在數據庫級別內置了機器學習功能的平臺是至關重要的,這樣更新的數據可供模型進行實驗,訓練和執行。
這與迄今為止使用的數據湖完全不同。這種方法通過目前可以利用數據湖的應用程序,更快地為業務線提供了切實的商業價值。
這種方法將確保除了為你的業務提供競爭優勢的應用程序現代化之外,還可以保留在數據湖中的投資。
原文鏈接:https://hackernoon.com/what-happened-to-hadoop-what-should-you-do-now-3i1i3v6r
本文為 CSDN 翻譯,轉載請注明出處。
推薦閱讀
云計算,巨頭們的背水一戰
整理了一份 Docker系統知識,從安裝到熟練操作看這篇就夠了 | 原力計劃
借助大數據進行社交媒體營銷,企業們得這么玩!
追憶童年,教你用Python畫出兒時卡通人物
AI 終極問題:我們的大腦是一臺超級計算機嗎?
公鏈的歷史交叉口:PoS還能走多遠?
真香,朕在看了!
總結
以上是生活随笔為你收集整理的读取模式错误,计算引擎操作复杂……面对Hadoop这些问题该如何应对?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文看懂5G射频的“黑科技”
- 下一篇: 数学之美:嵌入式编程凹凸性之妙用(附C代