1.概述

  Apache Arrow 是 Apache 基金會全新孵化的一個頂級項目。它設(shè)計的目的在于作為一個跨平臺的數(shù)據(jù)層,來加快大數(shù)據(jù)分析項目的運行速度。

2.內(nèi)容

  現(xiàn)在大數(shù)據(jù)處理模型很多,用戶在應(yīng)用大數(shù)據(jù)分析時,除了將 Hadoop 等大數(shù)據(jù)平臺作為一個存儲和批處理平臺之外,同樣也得關(guān)注系統(tǒng)的擴展性和性能。過去開源社區(qū)已經(jīng)發(fā)布了很多工具來完善大數(shù)據(jù)分析的生態(tài)系統(tǒng),這些工具包含了數(shù)據(jù)分析的各個層面,例如列式存儲格式(Parquet,ORC),內(nèi)存計算模型(Drill,Spark,Impala 和 Storm)以及其強大的 API 接口。而 Arrow 則是最新加入的一員,它提供了一種跨平臺應(yīng)用的內(nèi)存數(shù)據(jù)交換格式。

  在數(shù)據(jù)快速增長和復(fù)雜化的情況下,提高大數(shù)據(jù)分析性能一個重要的途徑是對列式數(shù)據(jù)的設(shè)計和處理。列式數(shù)據(jù)處理借助了向量計算和 SIMD 使我們可以充分挖掘硬件的潛力。而 Apache Drill 其大數(shù)據(jù)查詢引擎無論是在硬盤還是內(nèi)存中數(shù)據(jù)都是以列的方式存在的,而 Arrow 就是由 Drill 中的 Value Vector 這一數(shù)據(jù)格式發(fā)展而來。此外,Arrow 也支持關(guān)系型和動態(tài)數(shù)據(jù)集。

  Arrow 的誕生為大數(shù)據(jù)生態(tài)帶來了很多可能性,有了 Arrow 作為今后標(biāo)準(zhǔn)數(shù)據(jù)交換格式,各個數(shù)據(jù)分析的系統(tǒng)和應(yīng)用之間的交互性可以說是揭開了新的篇章。過去大部分的 CPU 周期都花在了數(shù)據(jù)的序列化與反序列化上,現(xiàn)在我們則能夠?qū)崿F(xiàn)不同系統(tǒng)之間數(shù)據(jù)的無縫鏈接。這意味著使用者在不同系統(tǒng)結(jié)合時,不用在數(shù)據(jù)格式上話費過多的時間。

3.Arrow Group

  Arrow 的內(nèi)存數(shù)據(jù)結(jié)構(gòu)如下所示:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式