内存数据交换格式 Apache Arrow

码农软件 · 软件分类 · 大数据 · 2020-02-13 14:44:21

软件介绍

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)

本文地址:https://www.codercto.com/soft/d/25527.html

Java语言程序设计

Java语言程序设计

(美) Y. Daniel Liang / 李娜 / 机械工业出版社 / 2011-6 / 75.00元

本书是Java语言的经典教材,多年来畅销不衰。本书全面整合了Java 6的特性,采用“基础优先,问题驱动”的教学方式,循序渐进地介绍了程序设计基础、解决问题的方法、面向对象程序设计、图形用户界面设计、异常处理、I/O和递归等内容。此外,本书还全面且深入地覆盖了一些高级主题,包括算法和数据结构、多线程、网络、国际化、高级GUI等内容。 本书中文版由《Java语言程序设计:基础篇》和《Java语......一起来看看 《Java语言程序设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具