Apache Arrow 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Apache Arrow 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache
开发语言: Java C/C++
操作系统: 跨平台
开发厂商: Apache
收录时间: 2017-01-17
提 交 者: 红薯

Apache Arrow是Apache基金会下一个全新的开源项目,同时也是顶级项目。它的目的是作为一个跨平台的数据层来加快大数据分析项目的运行速度。

用户在应用大数据分析时除了将Hadoop等大数据平台作为一个经济的存储和批处理平台之外也很看重分析系统的扩展性和性能。过去几年开源社区已经发布了很多工具来完善大数据分析的生态系统,这些工具涵盖了数据分析的各个层面,比如列式存储格式(Parquet/ORC)、内存计算层(Drill、Spark、Impala和Storm)以及强大的API接口(Python和R语言)。Arrow则是最新加入的一员,它提供了一种跨平台跨应用的内存数据交换格式。

提高大数据分析性能的一个重要手段是对列式数据的设计和处理。列式数据处理借助向量计算和SIMD使我们可以充分挖掘硬件的潜力。Apache Drill这一大数据查询引擎无论是在硬盘还是在内存中数据都是以列的方式存在的,而Arrow就是由Drill中Value Vector这一数据格式发展而来。除了列式数据,Apache Arrow也支持关系型和动态数据集,这使它成了处理物联网等数据时的理想格式选择。

Apache Arrow为大数据生态系统带来了可能性是无穷的。有Apache Arrow做为今后的标准数据交换格式,各个数据分析的系统和应用之间的交互性可以说是上了一个新的台阶。过去大部分的CPU周期都花在了数据的序列化和反序列化上,现在我们则能够实现不同系统之间数据的无缝共享。这意味着用户在将不同的系统结合使用时再也不用为数据格式多花心思了。

Performance Advantage of Columnar In-Memory
                       


Advantages of a Common Data Layer
                     

  • 每个系统都有自己内部的内存格式

  • 70-80%的CPU浪费在序列化和反序列化过程

  • 类似功能在多个项目中实现,没有一个标准

  • 所有系统都使用同一个内存格式

  • 避免了系统间通信的开销

  • 项目间可以共享功能(比如Parquet-to-Arrow reader)

展开阅读全文

代码

Apache Arrow 的相关博客

Apache Arrow入门

1.源码编译 1.1 环境准备 安装cmake等工具 sudo apt-get install \ build-essential \ cmake 1.2 下载源码 git cl...

Apache Arrow入门

1.源码编译 1.1 环境准备 安装cmake等工具 sudo apt-get install \ build-essential \ cmake 1.2下载源码 git clon...

matplotlib之arrow

## arrow函数 ```py matplotlib.pyplot.arrow( x, y, dx, dy, hold=None, **kwargs) ``` ## 参数 x, y : 箭头起点坐标 dx, dy...

image-less arrow carets

.triangle { display: inline-block; width: 0; height: 0; border-style: solid; border-width: 0 45px...

Arrow模块生成时间

import arrow def isLeapYear(years): ''' 通过判断闰年,获取年份years下一年的总天数 :param years: 年份,...

使用Apache Arrow助力PySpark数据处理

作者: 江宇,阿里云EMR技术专家。从事Hadoop内核开发,目前专注于机器学习、深度学习大数据平台的建设。 Apache Arrow从Spark...

Arrow IM SDK特色

云丛网络开发的私有部署的im sdk适合大中型企业、政府使用,欢迎联系www.clcong.com

更好用的时间处理模块arrow

import arrow # Create your tests here. class DateUtils(object): @staticmethod def get_today_start(): now = arrow.utcn...

Apache Arrow 的相关问答

还没有任何问答,马上提问

评论 (3)

加载中
我造我的轮子,你管我个毛~
2018/02/25 09:34
回复
举报
打分: 力荐
轮子可以造,但一定要造出更好的轮子。
2017/02/20 13:35
回复
举报
打分: 较差
外国大神一边告诉我们,不要造轮子,用现成就行了;一边自己在不断的造轮子,让我们追、用。然后,我们就失去了造轮子的能力。
2017/02/20 10:36
回复
举报
更多评论
3 评论
99 收藏
分享
返回顶部
顶部