Apache Arrow 4.0.0 发布,内存数据交换格式

Apache Arrow 4.0.0 现已发布,该版本涵盖了 3 个月的开发工作,包括来自 114 个不同贡献者的 711 个已解决的问题。此外,自 3.0.0 发布以来,Yibo Cai、Ian Cook 和 Jonathan Keane 已被邀请为 Arrow 的 committers,Andrew Lamb 和 Jorge Leitão 则加入了项目管理委员会(PMC)。

Apache Arrow 是 Apache 基金会的顶级项目之一,目的是作为一个跨平台的数据层来加快大数据分析项目的运行速度。它包含一组规范的内存中的平面和分层数据表示,以及多种语言绑定以进行结构操作。 它还提供低架构流式传输和批量消息传递,零拷贝进程间通信(IPC)和矢量化的内存分析库。

新版本的一些更新内容如下:

Arrow Flight RPC notes

在 Java 中,应用程序现在可以在写入数据时启用零拷贝优化(ARROW-11066)。这有可能破坏源代码的兼容性,所以默认情况下不启用。

Arrow Flight 现在已被打包给 C#/.NET。

Linux packages notes

此前曾有由 Bintray 提供的用于 C++ 和 C GLib 的 Linux 软件包。但自 2021-05-01 起,Bintray 已不再可用。因此,它们现在由 Artifactory 提供。鉴于 URL 已经改变,所以用户需要改变安装说明。详情可查看安装页面的新说明。以下是需要修改的摘要:

对于 Debian GNU Linux 和 Ubuntu 用户:

  • 用户需要更改apache-arrow-archive-keyring的安装说明:
    • 程序包名称更改为apache-arrow-apt-source
    • 下载网址已从https://apache.bintray.com/arrow/...更改为https://apache.jfrog.io/artifactory/arrow/...

对于 CentOS 和 Red Hat Enterprise Linux 用户:

  • 用户需要更改apache-arrow-release的安装说明:
    • 下载网址已从https://apache.bintray.com/arrow/...更改为https://apache.jfrog.io/artifactory/arrow/...

C++ notes

Arrow C++ 库现在包括一个 vcpkg.json 清单文件和一个新的 CMake 选项-DARROW_DEPENDENCY_SOURCE=VCPKG,以简化使用 vcpkg 包管理器的依赖关系安装。这提供了一种在 Linux、macOS 和 Windows 上安装 C++ 库依赖项的替代方法。

macOS 上的默认内存分配器已从 jemalloc 改为 mimalloc,在一系列宏基准测试中产生了性能优势(ARROW-12316)。

根据 Arrow 格式规范,现在不允许非单调的密集联合偏移量,并在 Array::ValidateFull 中返回一个错误(ARROW-10580)。

Compute layer

计算内核中的自动隐式转换(ARROW-8919)。例如,对于两个数组的加法,首先将数组转换为它们的公共数字类型,而不是在类型不相等时出错。

已为数字数据添加了计算函数quantile(ARROW-10831)和power(ARROW-11070)。

用于字符串处理的计算函数已添加到:

  • 修剪字符(ARROW-9128)。
  • 提取由正则表达式模式捕获的子字符串(extract_regex,ARROW-10195)。
  • 计算 UTF8 字符串长度(utf8_length,ARROW-11693)。
  • 根据正则表达式模式匹配字符串(match_substring_regex,ARROW-12134)。
  • 替换与文字模式或正则表达式匹配的非重叠子字符串(replace_substringreplace_substring_regex,ARROW-10306)。

现在可以对十进制和 fixed-width 的二进制数据进行排序(ARROW-11662)。

sum内核的精度得到了提高(ARROW-11758)。

CSV

  • CSV writer 已添加(ARROW-2229)。
  • CSV reader 现在可以推断出带有小数秒的时间戳列(ARROW-12031)。

Dataset

Arrow Datasets 获得了各种性能改进和新功能。一些重点:

  • 可以在扫描时从任意表达式投影新列(ARROW-11174)
  • Parquet 在高延迟文件系统上的读取性能得到了改善,通常是在有成千上万的文件或更多的文件时。
  • 可以写入 Null partition keys(ARROW-10438)
  • 可以读取压缩的 CSV 文件(ARROW-10372)
  • 文件系统支持异步操作(ARROW-10846)
  • 用法和 API 文档已添加(ARROW-11677)

Files and filesystems

  • 修复了一些罕见的 GZip 文件实例无法正确读取的情况(ARROW-12169)。
  • 添加了对设置 S3 代理参数的支持(ARROW-8900)。
  • HDFS 文件系统现在可以一次写入 2GB 以上的数据(ARROW-11391)。

更多详情可查看更新说明:https://arrow.apache.org/blog/2021/05/03/4.0.0-release/ 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/142662/apache-arrow-4-0-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。