Spring for Apache Hadoop 1.0 正式釋出
我們很高興地宣佈 Spring for Apache Hadoop 的第一個正式版 (release) (1.0) 釋出,這距離其第一個里程碑版本釋出幾乎正好一年。在此期間,我們採納了大量的反饋來推動路線圖的制定,所以感謝社群中所有提供幫助的人!雖然在過去一年中增加了新功能,但 Spring for Apache Hadoop 的目標保持不變,即簡化基於 Hadoop 的應用程式的開發。
立即下載,或在此處檢視 Maven 工件。
簡化的程式設計模型與一致性
我們觀察到,如果使用 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 flows,還可以呼叫
前置 和
後置 通用基於 JVM 的
指令碼,所有這些都透過熟悉的 JDK
Callable契約。您可以根據需要混合搭配 runners,但隨著複雜性的增加,可以輕鬆地“升級”到
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 組織。