Spring for Apache Hadoop 1.0 正式釋出
我們很高興地宣佈 Spring for Apache Hadoop 釋出了第一個 GA 版本 (1.0),距其 第一個里程碑版本 釋出幾乎正好一年。在此期間,我們採納了您的許多反饋來推動路線圖,感謝社群中所有提供幫助的人!雖然在過去一年中增加了許多新功能,但 Spring for Apache Hadoop 的目標保持不變,即簡化基於 Hadoop 的應用程式的開發。
立即下載,或在此處檢視 Maven Artifacts。
簡化的程式設計模型與一致性
我們發現,使用 Hadoop 附帶的標準開箱即用工具時,您很容易得到由命令列實用程式、指令碼和程式碼片段拼湊而成的結構不良的 Hadoop 應用程式。Hadoop 生態系統中各個專案(例如側重宣告式用法的
Hive 和
Pig,或者側重程式設計角度的
Cascading 和
HBase)的來源不同,導致了不同的配置和 API 設計方法。
Spring for Apache Hadoop 為廣泛的 Hadoop 生態系統專案提供了統一的程式設計和配置模型:框架沒有規定您必須使用什麼,而是擁抱並增強您的技術棧,忠實於核心 Spring 原則。
Spring 熟悉的 Template API 設計模式被應用於 Hadoop,由此產生了諸如 HBaseTemplate、HiveTemplate 和 PigTemplate 等助手類。這帶來了熟悉的 Spring 資料訪問 Template 特性,例如轉換為 Spring 的可移植資料訪問異常層次結構、執行緒安全地訪問底層資源以及輕量級物件對映功能。以 Java 為中心的 API(例如 Cascading)可以自由使用,無論是否需要額外配置,都可以透過 Spring Framework 優秀的 Java 配置實現。
從小處著手,按需擴充套件
過去一年中出現的另一個主題是鼓勵您可以從小處著手並逐步發展為複雜解決方案的方法。引入各種
Runner 類允許執行
Hive、
Pig 指令碼、原生 Map/Reduce 或 Streaming
作業、Cascading 流程,還可以透過熟悉的 JDK 呼叫
前和
後通用的基於 JVM 的
指令碼Callable契約。您可以根據需要混合搭配 runner,但隨著複雜性的增長,您可以輕鬆地
升級到
Spring Batch,這樣就可以以有狀態的方式協調多個步驟,並使用 REST API 進行管理。Spring Batch 在處理大型檔案 ETL 方面的豐富功能直接轉換為 Hadoop 使用案例,用於 HDFS 檔案的匯入和匯出。Spring Hadoop 與
Spring Integration 結合使用,可以對事件流進行豐富的處理,這些事件流可以在從 HDFS 或其他儲存(例如 NOSQL 儲存,
Spring Data 為此提供了大量支援)讀取和寫入之前進行轉換、豐富、過濾。我們透過
示例應用程式(無需編譯,它們已經編譯好並可供下載)涵蓋了各種場景,這些示例應用程式補充了全面的使用者文件(甚至包含一個關於如何使用 Amazon Elastic MapReduce 服務開始使用 Spring for Apache Hadoop 的
章節)。此外,作為示例的補充,您可以使用最近的
《Spring Data》一書[1] 來了解使用 Spring 技術、Hadoop 和 NOSQL 可以實現的所有功能。
可移植性
Spring for Apache Hadoop 正在針對各種 Hadoop 1.x 分發版(例如原版 Apache Hadoop、Cloudera CDH3 和 CDH4、Greenplum HD)進行
日常測試:我們希望確保 SHDP 在您的 Hadoop 環境中都能可靠執行。我們正在積極努力改善使用者體驗 - Spring for Apache Hadoop 在
Greenplum HD 分發版中提供了開箱即用的支援。我們密切關注 Hadoop 2.x 的開發,並努力在不久的將來提供對其的支援。
如果您正在使用 Spring for Apache Hadoop,我們很想聽聽您的意見。請參加我們的調查並分享您的經驗。
一如既往,我們期待您的反饋!
[1] 《Spring Data》書籍銷售的作者版稅捐贈給 Creative Commons 組織。