Apache Arrow 0.9.0 (2018 年 3 月 21 日)
这是一个主要版本。
下载
贡献者
$ git shortlog -sn apache-arrow-0.8.0..apache-arrow-0.9.0
52 Wes McKinney
52 Antoine Pitrou
25 Uwe L. Korn
14 Paul Taylor
13 Kouhei Sutou
13 Phillip Cloud
9 Robert Nishihara
9 Korn, Uwe
9 Jim Crist
8 Brian Hulette
7 Philipp Moritz
6 Panchen Xue
6 yosuke shiro
5 Mitar
5 Bryan Cutler
4 siddharth
3 Adam Seibert
3 Licht-T
3 moriyoshi
2 rvernica
2 Sidd
2 Albert Shieh
1 Marco Neumann
1 Max Risuhin
1 Jin Hai
1 Jeffrey Heer
1 Jacques Nadeau
1 Ehsan Totoni
1 Dimitri Vorona
1 Chris Bartak
1 Simbarashe Nyatsanga
1 Cheng Lian
1 Viktor Gal
1 Andy Grove
1 William Paul
1 devin-petersohn
补丁提交者
以下 Apache 提交者向代码仓库提交了贡献的补丁。
$ git shortlog -csn apache-arrow-0.8.0..apache-arrow-0.9.0
190 Wes McKinney
51 Uwe L. Korn
8 Philipp Moritz
7 Phillip Cloud
5 Brian Hulette
4 GitHub
4 Kouhei Sutou
3 siddharth
2 Bryan Cutler
1 Jacques Nadeau
1 Robert Nishihara
更新日志
新特性和改进
- ARROW-1021 - [Python] 添加关于如何在其他 Cython 和 C++ 项目中使用 pyarrow 的文档
- ARROW-1035 - [Python] 为流式列式反序列化添加 ASV 基准测试
- ARROW-1394 - [Plasma] 添加可选扩展,用于在 GPU 上分配内存
- ARROW-1463 - [Java] 重构 ValueVector 层次结构,以最小化编译时生成的代码
- ARROW-1579 - [Java] 添加 Docker 化测试设置,以验证 Spark 集成
- ARROW-1580 - [Python] 在 Linux 上设置夜间构建的说明
- ARROW-1623 - [C++] 添加便捷方法,用于从拥有自身内存的字符串构造 Buffer
- ARROW-1632 - [Python] 允许在 Table.to_pandas 中按列进行分类转换
- ARROW-1643 - [Python] 在 parquet.read_table 中接受 hdfs:// 前缀并尝试连接到 HDFS
- ARROW-1705 - [Python] 根据已知数据类型,从字典序列创建 StructArray
- ARROW-1706 - [Python] StructArray.from_arrays 应处理可强制转换为数组的序列
- ARROW-1712 - [C++] 在 BinaryBuilder 中添加方法,为值数据预留空间
- ARROW-1757 - [C++] 添加 DictionaryArray::FromArrays 的替代构造函数,用于检查或清理“不可信”索引
- ARROW-1815 - [Java] 将 MapVector 重命名为 StructVector
- ARROW-1832 - [JS] 实现用于集成测试的 JSON 读取器
- ARROW-1835 - [C++] 从 std::tuple 类型创建 Arrow Schema
- ARROW-1861 - [Python] 修复 ASV 设置,添加开发人员说明,用于编写新的基准测试并在本地运行基准测试套件
- ARROW-1872 - [网站] 从 YAML 文件填充当前版本的硬编码字段
- ARROW-1920 - 添加对读取 ORC 文件的支持
- ARROW-1926 - [GLib] 添加 garrow_timestamp_data_type_get_unit()
- ARROW-1927 - [Plasma] 实现删除函数
- ARROW-1929 - [C++] 将 Parquet 中的各种 Arrow 测试工具代码移动到 Arrow 代码库
- ARROW-1930 - [C++] 实现 ChunkedArray 和 Column 的 Slice
- ARROW-1931 - [C++] Visual Studio 2017 上由于 std::tr1 导致 w4996 警告,构建失败
- ARROW-1937 - [Python] 添加关于从 Python 数据结构构造嵌套数组的不同形式的文档
- ARROW-1942 - [C++] 小整数的哈希表特化
- ARROW-1947 - [Plasma] 更改 Client Create 和 Get 以使用 Buffers
- ARROW-1951 - 将 memcopy_threads 添加到序列化上下文
- ARROW-1962 - [Java] 在 ValueVector 接口中添加 reset() 方法
- ARROW-1965 - [GLib] 添加 garrow_array_builder_get_value_data_type() 和 garrow_array_builder_get_value_type()
- ARROW-1969 - [C++] 默认不构建 ORC 适配器
- ARROW-1970 - [GLib] 添加 garrow_chunked_array_get_value_data_type() 和 garrow_chunked_array_get_value_type()
- ARROW-1977 - [C++] 更新 Windows 开发文档
- ARROW-1978 - [网站] 在首页添加更醒目的“由...驱动”页面链接,简化“由...驱动”页面
- ARROW-2004 - [C++] 在 BufferBuilder::Resize 中添加 shrink_to_fit 选项
- ARROW-2007 - [Python] float32 的序列转换器未实现
- ARROW-2011 - 允许在 pyarrow 序列化中设置要使用的 pickler。
- ARROW-2012 - [GLib] 支持“make distclean”
- ARROW-2018 - [C++] macOS 和 Homebrew 上的构建说明不完整
- ARROW-2019 - 控制 LIST 中内部向量分配的内存
- ARROW-2024 - [Python] 移除全局 SerializationContext 变量
- ARROW-2028 - [Python] extra_cmake_args 需要通过 shlex.split 传递
- ARROW-2031 - HadoopFileSystem 无法 pickle
- ARROW-2035 - [C++] 将 vendored cpplint.py 更新为兼容 Py3 的版本
- ARROW-2036 - NativeFile 应该支持标准的 IOBase 方法
- ARROW-2042 - [Plasma] 撤销 plasma::Create API 更改,使其输出 MutableBuffer
- ARROW-2043 - [C++] 将描述从 OS X 更改为 macOS
- ARROW-2046 - [Python] 添加对 PEP519 - pathlib 和类似对象的支持
- ARROW-2048 - [Python/C++] 将 Thrift 固定版本更新至 0.11
- ARROW-2050 - 支持
setup.py pytest
自动获取测试依赖项 - ARROW-2052 - 统一 OwnedRef 和 ScopedRef
- ARROW-2054 - 编译警告
- ARROW-2064 - [GLib] 在安装部分添加常见构建问题链接
- ARROW-2065 - 修复 SerializationContext.clone() 中的错误。
- ARROW-2068 - [Python] 向 Python 用户暴露 Array 的缓冲区
- ARROW-2069 - [Python] 文档说明 Plasma 尚未(暂时)支持 Windows
- ARROW-2071 - [Python] 减少 Travis CI 中构建的运行时长
- ARROW-2073 - [Python] 根据已知数据类型,从元组序列创建 StructArray
- ARROW-2076 - [Python] 显示最慢的测试时长
- ARROW-2083 - 支持跳过构建
- ARROW-2084 - [C++] 支持较新的 Brotli 静态库名称
- ARROW-2086 - [Python] 减小 arrow_manylinux1_x86_64_base Docker 镜像的大小
- ARROW-2087 - [Python] 在 manylinux1 基础镜像中,第三方库的二进制文件未剥离符号表
- ARROW-2088 - [GLib] 添加 GArrowNumericArray
- ARROW-2089 - [GLib] 为保持一致性,重命名为 GARROW_TYPE_BOOLEAN
- ARROW-2090 - [Python] 为 ParquetWriter 添加上下文管理器方法
- ARROW-2093 - [Python] 可能不在 Travis CI 中测试 pytorch 序列化
- ARROW-2094 - [Python] 对 protocol buffers 使用工具链库和 PROTOBUF_HOME
- ARROW-2095 - [C++] 默认禁用 ORC EP 构建日志
- ARROW-2096 - [C++] 关闭 Boost_DEBUG 以减少构建输出
- ARROW-2099 - [Python] 在 Python 绑定中支持 DictionaryArray::FromArrays
- ARROW-2107 - [GLib] 遵循 arrow::gpu::CudaIpcMemHandle API 更改
- ARROW-2108 - [Python] 更新 ASV 说明
- ARROW-2110 - [Python] 仅在测试命令中要求 pytest-runner
- ARROW-2111 - [C++] Linting 可以更快
- ARROW-2114 - [Python] 拉取最新的 Docker manylinux1 镜像
- ARROW-2117 - [C++] 将 clang 版本固定到 5.0
- ARROW-2118 - [Python] 优化在空文件上调用 parquet.read_table 时的错误消息
- ARROW-2120 - 允许第三方库使用空的 _MSVC_STATIC_LIB_SUFFIX
- ARROW-2121 - [Python] 考虑在 pandas 序列化器中对对象数组进行特殊处理。
- ARROW-2123 - [JS] 升级到 TS 2.7.1
- ARROW-2132 - [文档] 在主 README 中添加 Plasma Store 的链接/提及
- ARROW-2134 - [CI] 使 Travis 提交检查更健壮
- ARROW-2137 - [Python] 读取 Parquet 文件时,不打印被忽略的路径
- ARROW-2138 - [C++] 让 FatalLog 终止而不是退出
- ARROW-2142 - [Python] 未实现从 Numpy StructArray 的转换
- ARROW-2143 - [Python] 为 cp27m 提供 manylinux1 wheel 包
- ARROW-2146 - [GLib] 实现 ChunkedArray 的 Slice
- ARROW-2149 - [Python] 重组 test_convert_pandas.py
- ARROW-2154 - [Python] Buffer 上未实现 __eq__
- ARROW-2155 - [Python] pa.frombuffer(bytearray) 返回不可变 Buffer
- ARROW-2156 - [CI] 隔离 Sphinx 依赖项
- ARROW-2163 - 将 apt 依赖项与 Travis 内置命令分开安装,并对不稳定情况进行重试
- ARROW-2166 - [GLib] 实现 Column 的 Slice
- ARROW-2168 - [C++] 构建工具链使用 jemalloc 构建
- ARROW-2169 - [C++] MSVC 抱怨未捕获的变量
- ARROW-2174 - [JS] 导出格式和 Schema 枚举
- ARROW-2176 - [C++] 扩展 DictionaryBuilder 以支持增量字典
- ARROW-2177 - [C++] 移除对 DecimalType 中指定负刻度值的支持
- ARROW-2180 - [C++] 移除 0.8.0 版本中已弃用的 API
- ARROW-2181 - [Python] 将 concat_tables 添加到 API 参考,并添加使用文档
- ARROW-2184 - [C++] 为 FileOutputStream 添加静态构造函数,返回指向基类 OutputStream 的 shared_ptr
- ARROW-2185 - 从合并的提交消息中移除 CI 指令
- ARROW-2190 - [GLib] 为 RecordBatch 添加添加/移除字段的函数。
- ARROW-2191 - [C++] 仅使用特定版本的 jemalloc
- ARROW-2197 - 文档说明“未定义符号”问题及其解决方法
- ARROW-2198 - [Python] parquet.read_table 的 Docstring 具有误导性或不正确
- ARROW-2199 - [Java] ARROW-2019 的后续修复。确保密度驱动的容量永不小于 1,并在整个向量树中传播密度
- ARROW-2203 - [C++] StderrStream 类
- ARROW-2204 - [C++] 在 parquet-cpp 克隆时构建因 TLS 错误失败
- ARROW-2205 - [Python] 整数对象 null 值的选项
- ARROW-2206 - [JS] 添加 Perspective 作为社区项目
- ARROW-2218 - [Python] PythonFile 在未指定模式时应推断模式
- ARROW-2231 - [CI] 在 AppVeyor 上使用 clcache
- ARROW-2238 - [C++] 在 cmake 配置中检测 clcache
- ARROW-2239 - [C++] 更新 Windows 构建文档
- ARROW-2250 - plasma_store 进程应在接收到 INT 和 TERM 信号时进行清理
- ARROW-2252 - [Python] 从地址、大小和基创建缓冲区
- ARROW-2253 - [Python] 支持标量值的 __eq__
- ARROW-2261 - [GLib] 无法安全地在 GArrowBuffer 中共享相同的内存
- ARROW-2262 - [Python] 支持对 pyarrow.ChunkedArray 进行切片
- ARROW-2279 - [Python] 如果找不到库,提供更好的错误消息
- ARROW-2282 - [Python] 从缓冲区创建 StringArray
- ARROW-2283 - [C++] 支持 pkg-config 检测安装在 /usr 中的 Arrow C++
- ARROW-2289 - [GLib] 添加 Numeric, Integer 和 FloatingPoint 数据类型
- ARROW-2291 - [C++] README 缺少 libboost-regex-dev 的说明
- ARROW-2292 - [Python] pyarrow.frombuffer 的名称更一致/直观
- ARROW-2309 - [C++] 使用 std::make_unsigned
- ARROW-232 - C++/Parquet: 支持将分块数组作为表的一部分写入
- ARROW-2321 - [C++] 如果 CMAKE_INSTALL_LIBDIR 不是 $ARROW_HOME/lib,发布验证脚本会失败
- ARROW-633 - [Java] 添加对 FixedSizeBinary 类型的支持
- ARROW-634 - 添加 FixedSizeBinary 的集成测试
- ARROW-764 - [C++] 改进 CopyBitmap 的性能,添加基准测试
- ARROW-969 - [C++/Python] 为 RecordBatch 添加添加/移除字段的函数
Bug 修复
- ARROW-1345 - [Python] 从嵌套 NumPy 数组的转换在 int64, float32 以外的整数上失败
- ARROW-1589 - [C++] 某些输入格式的模糊测试
- ARROW-1646 - [Python] pyarrow.array 无法处理 NumPy 标量类型
- ARROW-1856 - [Python] 使用 PARQUET_HOME 时自动检测 Parquet ABI 版本
- ARROW-1909 - [C++] Bug: 在 Windows 上,使用 “-DARROW_BUILD_BENCHMARKS=ON” 构建失败
- ARROW-1912 - [网站] 在 committers.html 中添加组织关联
- ARROW-1919 - 如果对象 ID 不是 20 字节,Plasma 会挂起
- ARROW-1924 - [Python] 恢复序列化的 pickle=True 选项
- ARROW-1933 - [GLib] 使用 –with-arrow-cpp-build-dir 和启用 GPU 的 Arrow C++ 构建失败
- ARROW-1940 - [Python] pd.DataFrame 和 pa.Table 之间多次转换后会添加额外的元数据
- ARROW-1941 - Table <--> DataFrame 往返转换失败
- ARROW-1943 - 处理 deeply nested lists of lists 的 setInitialCapacity()
- ARROW-1944 - FindArrow 的 ARROW_STATIC_LIB 不正确
- ARROW-1945 - [C++] 修复 array.h 的 doxygen 文档
- ARROW-1946 - 为 decimal vector 添加写入大端数据的 API
- ARROW-1948 - [Java] ListVector 在 ipc 中无法处理所有非空值但未设置任何值的情况
- ARROW-1950 - [Python] pandas 元数据中的 pandas_type 对于 List 类型不正确
- ARROW-1953 - [JS] master 分支上的 JavaScript 构建已损坏
- ARROW-1958 - [Python] pandas 转换 datetimetz 行索引时出错
- ARROW-1961 - [Python] 使用 flavor=’spark’ 写入 Parquet 文件会丢失 pandas Schema 元数据
- ARROW-1966 - [C++] 支持 HDFS libjvm 加载中包含 jre 目录的 JAVA_HOME 路径
- ARROW-1971 - [Python] 将 pandas 序列化添加到默认设置
- ARROW-1972 - 缓冲区对象(和 pandas dataframes)的反序列化在不同进程中发生段错误。
- ARROW-1973 - [Python] 将带有数组列的 Arrow 表转换为 Pandas dataframes 时出现内存泄漏。
- ARROW-1976 - [Python] 在 parquet.read_table 中处理 unicode pandas 列
- ARROW-1979 - [JS] JS 构建在 es2015:umd 测试中挂起
- ARROW-1980 - [Python] write_to_dataset 中的竞态条件
- ARROW-1982 - [Python] 将 parquet 统计信息的 min/max 返回为值而不是字符串
- ARROW-1991 - [GLib] 基于 Docker 的文档构建已损坏
- ARROW-1992 - [Python] 在 0.8.0 版本上,对空字符串列使用 strings_to_categoricals 时,to_pandas 会崩溃
- ARROW-1997 - [Python] 使用 strings_to_categorical 的 to_pandas 失败
- ARROW-1998 - [Python] DataFrame 为空时,Table.from_pandas 会崩溃
- ARROW-1999 - [Python] from_numpy_dtype 返回错误的类型
- ARROW-2000 - 当 plasma store 回复 get 请求时,对文件描述符进行去重。
- ARROW-2002 - 使用 pyarrow 下载文件有时会引发 queue.Full 异常
- ARROW-2003 - [Python] 不要在 pandas.core.internals.make_block 中使用已弃用的 kwarg
- ARROW-2005 - [Python] Cython 文件上的 pyflakes 警告未导致构建失败
- ARROW-2008 - [Python] int32 NumPy 数组的类型推断(期望 list
)返回 int64,然后转换失败 - ARROW-2010 - [C++] ORC 适配器中 CHECKIN 警告级别下的编译器警告
- ARROW-2017 - 使用大型(>2**31-1)uint64 值初始化数组失败
- ARROW-2023 - [C++] 测试在空 InputStream 上打开 IPC 流读取器或文件读取器
- ARROW-2025 - [Python/C++] HDFS Client 断开连接会关闭所有打开的客户端
- ARROW-2029 - [Python] 如果文件已关闭,
HdfsFile.tell
会导致程序崩溃 - ARROW-2032 - [C++] 每次调用 ninja build 时都会安装 ORC EP(即使没有工作要做)
- ARROW-2033 - pa.array() 不适用于迭代器
- ARROW-2039 - [Python] pyarrow.Buffer().to_pybytes() 发生段错误
- ARROW-2040 - [Python] 反序列化的 Numpy 数组必须保留对底层 tensor 的引用
- ARROW-2047 - [Python] test_serialization.py 使用 PATH 中的 python 可执行文件,而不是用于测试运行的可执行文件
- ARROW-2049 - ARROW-2049: [Python] 使用 python -m cython 运行 Cython,而不是 CYTHON_EXECUTABLE
- ARROW-2062 - [C++] Travis CI 中 test_serialization.py 的构建停滞
- ARROW-2070 - [Python] setup.py 中的 chdir 逻辑有 bug
- ARROW-2072 - [Python] decimal128.byte_width 崩溃
- ARROW-2080 - [Python] ARROW-2024 后更新文档
- ARROW-2085 - 如果路径不存在,HadoopFileSystem.isdir 和 .isfile 应该返回 False
- ARROW-2106 - [Python] pyarrow.array 无法接受包含 python datetime 对象的 pandas Series。
- ARROW-2109 - [C++] Boost 1.66 在 Windows 上的链接阶段编译失败
- ARROW-2124 - [Python] 如果 nested list of numpy arrays 的第一个元素为空,会引发 ArrowInvalid
- ARROW-2128 - [Python] 无法序列化空列表数组
- ARROW-2129 - [Python] 将空数组转换为 Pandas 时发生段错误
- ARROW-2131 - [Python] 当库已在原地构建/未安装时,序列化测试在 Windows 上失败
- ARROW-2133 - [Python] 将空嵌套数组转换为 Pandas 时发生段错误
- ARROW-2135 - [Python] 在 Table.from_pandas 中为转换传递显式 Schema 时,NaN 值会被静默转换为 int64
- ARROW-2145 - [Python] Decimal 转换对 NaN 值不起作用
- ARROW-2150 - [Python] 数组相等性默认为 identity
- ARROW-2151 - [Python] 从 list of uint64 arrays 转换时出错
- ARROW-2153 - [C++/Python] Decimal 转换对指数表示法不起作用
- ARROW-2157 - [Python] 无法从 Python 列表构造 Decimal 数组
- ARROW-2160 - [C++/Python] 修复 Decimal 精度推断
- ARROW-2161 - [Python] 如果未定义 ARROW_HOME,则跳过 test_cython_api
- ARROW-2162 - [C++/Python] 精度过高的 Decimal 值乘以 100
- ARROW-2167 - [C++] 使用默认 BUILD_WARNING_LEVEL=Production 构建 Orc 扩展失败
- ARROW-2170 - [Python] 读取未保留索引的文件时,construct_metadata 失败
- ARROW-2171 - [Python] OwnedRef 不健壮
- ARROW-2172 - [Python] 当 stride % itemsize != 0 时,从 Numpy 数组转换不正确
- ARROW-2173 - [Python] NumPyBuffer 析构函数应持有 GIL
- ARROW-2175 - [Python] 在 Travis CI 中构建 parquet-cpp 时触发 arrow_ep 构建
- ARROW-2178 - [JS] 修复 JS html FileReader 示例
- ARROW-2179 - [C++] libarrow-dev 中缺少 arrow/util/io-util.h
- ARROW-2192 - 对 master 分支的提交应运行 CI 矩阵中的所有构建
- ARROW-2209 - [Python] Partition 列在 ParquetDataset 的 Schema 中未正确加载
- ARROW-2210 - [C++] TestBuffer_ResizeOOM 在使用 jemalloc 时存在内存泄漏
- ARROW-2212 - [C++/Python] 在基础 manylinux 1 docker 镜像中构建 Protobuf
- ARROW-2223 - [JS] 安装 umd 版本会抛出错误
- ARROW-2227 - [Python] Table.from_pandas 不会创建 chunked_arrays。
- ARROW-2230 - [Python] 有时会获取 JS 版本号
- ARROW-2232 - [Python] pyarrow.Tensor 构造函数发生段错误
- ARROW-2234 - [JS] 将时间戳的低位读取为 Uint32
- ARROW-2240 - [Python] 以 numpy nan 开头的数组初始化会引发异常并失败
- ARROW-2244 - [C++] 切片 NullArray 不应导致内部数据的 null 计数未知
- ARROW-2245 - [Python] 撤销 manylinux1 wheel 中 parquet-cpp 的静态链接
- ARROW-2246 - [Python] 在 manylinux1 包中使用命名空间 boost
- ARROW-2251 - [GLib] 在使用该缓冲区的 GArrowTensor 存在时销毁 GArrowBuffer 会导致崩溃
- ARROW-2254 - [Python] 本地原地开发版本会获取 JS 标签
- ARROW-2258 - [C++] Appveyor 构建在 master 分支上失败
- ARROW-2263 - [Python] 如果 pyarrow 不在导入路径中(例如使用 inplace 构建),test_cython.py 会失败
- ARROW-2265 - [Python] 序列化 np.ndarray 的子类会返回一个 np.ndarray。
- ARROW-2268 - 从发布流程中移除 MD5 校验和
- ARROW-2269 - [Python] 无法构建 Python 的 bdist_wheel
- ARROW-2270 - [Python] ForeignBuffer 没有将 Python 对象的生命周期与 C++ 缓冲区的生命周期绑定
- ARROW-2272 - [Python] test_plasma 会在 /tmp 中生成大量文件
- ARROW-2275 - [C++] Buffer::mutable_data_ 成员未初始化
- ARROW-2280 - [Python] pyarrow.Array.buffers 也应该包含 offsets
- ARROW-2284 - [Python] plasma_store 错误导致的 test_plasma 错误
- ARROW-2288 - [Python] 切片逻辑存在缺陷
- ARROW-2297 - [JS] babel-jest 未列为开发依赖
- ARROW-2304 - [C++] io-hdfs-test 中的 MultipleClients 测试在 trunk 分支失败
- ARROW-2306 - [Python] HDFS 测试失败
- ARROW-2307 - [Python] 无法读取包含 0 个 record batches 的 arrow 流
- ARROW-2311 - [Python] Struct 数组切片存在缺陷
- ARROW-2312 - [JS] verify-release-candidate-sh 必须更新,以在集成测试中包含 JS
- ARROW-2313 - [GLib] 发布构建必须定义 NDEBUG
- ARROW-2316 - [C++] 将 Buffer::mutable_data 成员改回始终内联
- ARROW-2318 - [C++] TestPlasmaStore.MultipleClientTest 在发布版本中不稳定(挂起)
- ARROW-2320 - [C++] vendored Boost 构建不构建 regex 库