大家好,欢迎来到IT知识分享网。
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 0.17.1 已发布。Apache Arrow 是 A以及多种语言绑定以进行结构操作。 它还提供低架构流式传输和批量消息传递,零拷贝进程间通信(IPC)和矢pache 基金会的顶级项目之一,目的是作为一个跨平台的数据层来加快大数据分析项目的运行速度。它包含一组规范的内存中的平面和分层数据表示,量化的内存分析库。
此版本增加了不少新功能和改进,以及修复 bug:
新功能和改进
- ARROW-8501 – [Packaging][RPM] 在 CentOS 6 上将 devtoolset 升级至版本 8
- ARROW-8549 – [R] 0.17 版本发布后的各项清理工作
- ARROW-8699 – [R] 修复 automatic r_to_py 自动转换
- ARROW-8758 – [R] 升级与 dplyr 1.0 的兼容性
- ARROW-8786 – [Packaging][rpm] 在 CentOS 8 构建中使用绑定的 zstd
Bugfix
- ARROW-8503 – [Packaging][deb] 修复无法为 RC 版构建 apache-arrow-archive-keyring 的问题
- ARROW-8505 – [Release][C#] “sourcelink test” 无法通过 Apache.Arrow.AssemblyInfo.cs 测试
- ARROW-8584 – [Packaging][C++] 在 deb 构建中出现 Protobuf 链接错误
- ARROW-8608 – [C++] 将 vendored mpark/variant.h 升级到最新版本以修复 NVCC 编译问题
- ARROW-8609 – [C++] ORC JNI 桥接器会在空的 arrow 缓冲区出现崩溃错误
- ARROW-8641 – [Python] Regression in feather: 不再支持列选择中的 permutation
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/56378.html