圖片來源: 

Dremio

Apache軟體基金會於2月17日宣布,Apache Arrow晉升成為一個新的頂級專案(Top-Level Project),提供跨系統資料層的欄位記憶體式分析(Columnar In-Memory Analytics),來增進大資料分析的效能和速度。ASF宣稱,Arrow可以提升百倍大資料分析的效能,以及可以排除跨系統間的溝通成本,能夠支援多系統運作。

Arrow是資料結構、演算法和跨程式語言的組合,提供不同種類的系統共享基礎,包含SQL執行引擎(如Drill和Impala)、資料分析系統(如Pandas和Spark)、串流和佇列系統(如Herron、Kafka和Storm),以及儲存系統(如Parquet、Kudu、Cassandra和HBase)。

另外,使用者現在可以用C、C++、Python和Java等程式語言來執行Arrow的程式碼,Apache Arrow和Drill專案副總裁Jacques Nadeau表示,在未來1至2個月內將增加支援R、JavaScript和Julia。

而Arrow除了支援傳統的關聯式資料庫之外,也支援動態Schema架構的資料,例如,Arrow可以處理物聯網、Log檔等常用的JSON格式資料。在效能方面,則特別設計Arrow最佳化快取的局部性(Cache Locality)、流量管道(Pipelining)和單一指令多重資料(Single Instruction Multiple Data,SIMD),來發揮CPU的效能。

ASF表示,在許多工作量(Workload)中,70%~80%的CPU循環都用在系統間序列化(Serialize)和解序列化(Deserialize)資料,而Arrow讓資料可以不必經過序列化、解序列化或記憶體複製,就能夠在系統和處理程序中共享,藉此提升CPU的使用效能。

此外,目前已經有13個主要大資料開源專案的開發者聯手打造Arrow專案,而這13個開源專案包含了Calcite、Cassandra、Drill、Hadoop、HBase、Impala、Kudu(培育期)、Parquet、Phoenix、Spark、Storm、Pandas和Ibis。Jacques Nadeau表示,ASF預期在未來幾年,世界上大多數的資料將會使用Arrow的技術來分析。


Advertisement

更多 iThome相關內容