Apache Arrow 0.2.0 (2017年2月18日)
下载
更新日志
贡献者
$ git shortlog -sn apache-arrow-0.1.0..apache-arrow-0.2.0
73 Wes McKinney
55 Uwe L. Korn
16 Julien Le Dem
4 Bryan Cutler
4 Nong Li
2 Christopher C. Aycock
2 Jingyuan Wang
2 Kouhei Sutou
2 Laurent Goujon
2 Leif Walsh
1 Emilio Lahr-Vivaz
1 Holden Karau
1 Li Jin
1 Mohamed Zenadi
1 Peter Hoffmann
1 Steven Phillips
1 adeneche
1 ahnj
1 vkorukanti
新功能和改进
- ARROW-108 - [C++] 为联合类型添加 IPC 往返支持
- ARROW-189 - C++: 使用 ExternalProject 构建第三方依赖
- ARROW-191 - Python: 为 manylinux1 wheel 提供基础设施
- ARROW-221 - 添加用于写入 Parquet 1.0 兼容逻辑类型的开关
- ARROW-227 - [C++/Python] 将 arrow_io 通用读/写接口接入 arrow_parquet
- ARROW-228 - [Python] 为从类 Python 文件对象中读取字节创建一个与 Arrow-cpp 兼容的接口
- ARROW-243 - [C++] 在 HdfsClient 中添加 "driver" 选项以在运行时选择 libhdfs 或 libhdfs3
- ARROW-268 - [C++] 完善联合类型的实现,使其拥有 IPC 所需的所有方法
- ARROW-303 - [C++] 同样为叶库构建静态库
- ARROW-312 - [Python] 提供 Python API 以读/写 Arrow IPC 文件格式
- ARROW-317 - [C++] 在 arrow::Buffer 上实现零拷贝的 Slice 方法,该方法保留对父对象的引用
- ARROW-327 - [Python] 从 Travis CI 流程中移除 conda 构建
- ARROW-328 - [C++] 按值返回 shared_ptr 而不是 const-ref?
- ARROW-33 - C++: 实现零拷贝数组切片
- ARROW-330 - [C++] 使用 CMake 函数简化共享/静态库配置
- ARROW-332 - [Python] 添加辅助函数将 RecordBatch 转换为 pandas.DataFrame
- ARROW-333 - 即使没有数据写入,也让写入器更新其内部模式。
- ARROW-335 - 通过更好地封装 flatbuffers 来改进 Type API 和 toString()
- ARROW-336 - 在 Travis 构建中运行 Apache Rat
- ARROW-338 - [C++] 将 IPC 向量的“加载”和“卸载”重构为基于更清晰的访问者模式
- ARROW-350 - 为 HDFS shim 添加 Kerberos 支持
- ARROW-353 - Arrow 0.2 版本发布
- ARROW-355 - 添加将空字符串数组序列化到 Parquet 的测试
- ARROW-356 - 添加关于读取 Parquet 的文档
- ARROW-359 - 需要为 ARROW_LIBHDFS_DIR 添加文档
- ARROW-360 - C++: 添加方法以使用 realloc 缩小 PoolBuffer
- ARROW-361 - Python: 支持从 Parquet 文件中读取指定的列
- ARROW-363 - 设置 Java/C++ 集成测试框架
- ARROW-365 - Python: 提供 Array.to_pandas()
- ARROW-366 - [java] 实现字典向量
- ARROW-367 - [java] 用于集成测试的 csv/json <=> Arrow 文件格式转换器
- ARROW-368 - 记录使用 Python 时 LD_LIBRARY_PATH 的用法
- ARROW-369 - [Python] 添加一次性将多个记录批次转换为 pandas 的功能
- ARROW-372 - 为集成测试创建 JSON Arrow 文件格式
- ARROW-373 - [C++] 为测试实现 C++ 版本的 JSON 文件格式
- ARROW-374 - Python: 在 API 中澄清 unicode 与 binary 的区别
- ARROW-377 - Python: 添加对 Pandas.Categorical 转换的支持
- ARROW-379 - Python: 使用 setuptools_scm/setuptools_scm_git_archive 来提供版本号
- ARROW-380 - [Java] 优化序列化向量时的空值计数
- ARROW-381 - [C++] 简化原始数组类型构建器,以使用默认的类型单例
- ARROW-382 - Python: 扩展 API 文档
- ARROW-383 - [C++] 实现 ARROW-367 集成测试验证器的 C++ 版本
- ARROW-389 - Python: 将 Parquet 文件写入 pyarrow.io.NativeFile 对象
- ARROW-394 - 为布尔、列表、结构和其他基本类型添加集成测试
- ARROW-396 - Python: 添加 pyarrow.schema.Schema.equals
- ARROW-409 - Python: 将 pyarrow.Table.dataframe_from_batches API 更改为创建 Table
- ARROW-410 - [C++] 为 arrow::io::OutputStream 添加 Flush 方法
- ARROW-411 - [Java] 将 Intergration.compare 和 Intergration.compareSchemas 移动到一个公共工具类中
- ARROW-415 - C++: 添加 Equals 实现以比较 Table
- ARROW-416 - C++: 添加 Equals 实现以比较 Column
- ARROW-417 - C++: 添加 Equals 实现以比较 ChunkedArrays
- ARROW-418 - [C++] 整合数组容器和构建器代码,移除 arrow/types
- ARROW-419 - [C++] 将 util/{status.h, buffer.h, memory-pool.h} 提升到 arrow/ 源目录的顶层
- ARROW-423 - C++: 在外部项目中定义 BUILD_BYPRODUCTS 以支持非 make 的 CMake 生成器
- ARROW-425 - Python: 暴露一个 C 函数以将 arrow::Table 转换为 pyarrow.Table
- ARROW-426 - Python: 从 pyarrow.Array 转换为 Python 列表
- ARROW-427 - [C++] 实现字典编码的数组容器
- ARROW-428 - [Python] 使用线程池将 Arrow 记录批次并行反序列化为 pandas
- ARROW-430 - Python: 更好的版本处理
- ARROW-432 - [Python] 通过使用低级 pandas 内部 API 在 to_pandas 转换中避免不必要的内存复制
- ARROW-438 - [Python] 连接具有相同模式的 Table 实例
- ARROW-440 - [C++] 支持 pkg-config
- ARROW-441 - [Python] 将 Arrow 的文件和内存映射类作为 NativeFile 的子类暴露
- ARROW-442 - [Python] 添加公共 Python API 以检查 Parquet 文件元数据
- ARROW-444 - [Python] 避免因使用 PyBytes_* C API 造成的不必要内存复制
- ARROW-449 - Python: 从 pyarrow.{Table,RecordBatch} 转换为 Python 字典
- ARROW-450 - Python: 修复 PARQUET-818
- ARROW-456 - C++: 添加基于 jemalloc 的 MemoryPool
- ARROW-457 - Python: 更好地控制内存池
- ARROW-458 - Python: 暴露 jemalloc MemoryPool
- ARROW-461 - [Python] 实现 arrow::DictionaryArray 和 pandas.Categorical 之间的转换
- ARROW-463 - C++: 支持 jemalloc 4.x
- ARROW-466 - C++: 为 jemalloc 使用 ExternalProject
- ARROW-467 - [Python] 在 Travis CI 中运行 parquet-cpp 单元测试
- ARROW-468 - Python: pd.DataFrames 中嵌套数据与 Arrow 结构之间的转换
- ARROW-470 - [Python] 添加 "FileSystem" 抽象以统一访问文件目录
- ARROW-471 - [Python] 使 ParquetFile 能够传递单独获取的文件元数据
- ARROW-472 - [Python] 暴露 parquet::{SchemaDescriptor, ColumnDescriptor}::Equals
- ARROW-474 - 创建一个 Arrow 流式文件格式
- ARROW-475 - [Python] 从支持的文件系统接口高级支持读取 Parquet 文件目录(作为单个 Arrow 表)
- ARROW-476 - [集成] 为二进制 / 变长字节类型添加集成测试
- ARROW-477 - [Java] 在内存和 IPC/JSON 层添加对秒/微秒/纳秒时间戳的支持
- ARROW-478 - [Python] 在 pyarrow.io.BufferReader 构造函数中接受 PyBytes 对象
- ARROW-479 - Python: 在 Pandas 转换中测试预期的模式
- ARROW-484 - 在 README 中添加更多关于 Arrow 实现中可以找到的技术的细节
- ARROW-485 - [Java] 用户在调用 VariableLengthVectors.mutator.getSafe 之前需要初始化 VariableLengthVectors.offsetVector
- ARROW-490 - Python: 更新 manylinux1 构建脚本
- ARROW-495 - [C++] 添加流式序列化格式的 C++ 实现
- ARROW-497 - [Java] 用于流式格式的集成测试框架
- ARROW-498 - [C++] 用于流式格式的集成测试框架
- ARROW-503 - [Python] 流式二进制格式的接口
- ARROW-506 - 实现用于集成测试的 Arrow Echo 服务器
- ARROW-508 - [C++] 使文件/内存映射文件接口线程安全
- ARROW-509 - [Python] 添加对 PARQUET-835 的支持(并行列读取)
- ARROW-512 - C++: 添加方法以检查原始类型
- ARROW-514 - [Python] 接受 pyarrow.io.Buffer 作为 StreamReader、FileReader 类的输入
- ARROW-515 - [Python] 添加 StreamReader/FileReader 方法,将所有记录批次读取为一个 Table
- ARROW-521 - [C++/Python] 在默认 MemoryPool 中跟踪峰值内存使用情况
- ARROW-524 - [java] 提供访问嵌套向量和缓冲区的 API
- ARROW-525 - Python: 为包添加更多文档
- ARROW-527 - 清理 drill-module.conf 文件
- ARROW-529 - Python: 将 jemalloc 和 Python 3.6 添加到 manylinux1 构建
- ARROW-531 - Python: 记录 jemalloc,扩展 Pandas 部分,添加“参与贡献”
- ARROW-538 - [C++] 设置 AddressSanitizer (ASAN) 构建
- ARROW-546 - Python: 考虑 PARQUET-867 中的更改
- ARROW-547 - [Python] 暴露 Array::Slice 和 RecordBatch::Slice
- ARROW-553 - C++: 更快地构建有效位图
- ARROW-558 - 添加 KEYS 文件
- ARROW-81 - [格式] 添加一个 Category 逻辑类型(区别于字典编码)
- ARROW-96 - C++: 使用 Doxygen 生成 API 文档
- ARROW-97 - Python: 通过 sphinx-apidoc 生成 API 文档
Bug 修复
- ARROW-112 - [C++] 修复常量/枚举的样式
- ARROW-202 - [C++] 与 AppVeyor CI 集成以支持 Windows,并使 Arrow 可以在 Windows 上构建
- ARROW-220 - [C++] 在具有更好跨 Linux ABI 兼容性的构建环境中构建 conda 产物
- ARROW-224 - [C++] 解决 boost 依赖的静态链接问题
- ARROW-230 - Python: 不要像原生模块那样命名模块(即重命名 pyarrow.io)
- ARROW-239 - [Python] 不带参数调用 HdfsFile.read 应读取文件的剩余部分
- ARROW-261 - [C++] 重构 BinaryArray/StringArray 类,使其不继承自 ListArray
- ARROW-275 - 在 Arrow 文件中为 UnionVector 添加测试
- ARROW-294 - [C++] 内存映射文件实现不要使用 fopen / fclose / 等方法
- ARROW-322 - [C++] 不要将 HDFS IO 接口作为可选构建
- ARROW-323 - [Python] 选择性加入 PyArrow parquet 构建,而不是在失败时静默跳过
- ARROW-334 - [Python] OS X 在某些配置上的 rpath 问题
- ARROW-337 - UnionListWriter.list() 做了超出其职责范围的事情,这可能导致数据损坏
- ARROW-339 - 使 merge_arrow_pr 脚本能与 Python 3 配合工作
- ARROW-340 - [C++] 在磁盘上打开一个已存在的可写文件时没有截断为零
- ARROW-342 - 在发布时设置 Python 版本
- ARROW-345 - libhdfs 集成在 Mac 上不起作用
- ARROW-346 - Python API 文档
- ARROW-348 - [Python] CMake 构建类型应可在命令行上配置
- ARROW-349 - python setup.py 中缺少 Six 作为依赖项
- ARROW-351 - Time 类型没有单位
- ARROW-354 - 无法将一个空字符串数组与另一个进行比较
- ARROW-357 - 默认 Parquet chunk_size 为 64k 太小
- ARROW-358 - [C++] 在某些 Hadoop 发行版中,libhdfs 可能位于非标准位置
- ARROW-362 - Python: 在从 Parquet 读取的表上调用 to_pandas 会导致内存泄漏
- ARROW-371 - Python: 带有空时间戳的表在 pandas 中变成了浮点数
- ARROW-375 - parquet.read_table() 中的 columns 参数对有效列引发 KeyError
- ARROW-384 - 对齐 Java 和 C++ 的 RecordBatch 数据和元数据布局
- ARROW-386 - [Java] 尊重 struct / map 字段名称的大小写
- ARROW-387 - [C++] arrow::io::BufferReader 在零拷贝读取中不允许共享内存所有权
- ARROW-390 - C++: 当 ARROW_BUILD_TESTS=OFF 时,CMake 在 json-integration-test 上失败
- ARROW-392 - 修复字符串/二进制集成测试
- ARROW-393 - [JAVA] JSON 文件读取器未能设置字符串数据向量的缓冲区大小
- ARROW-395 - Arrow 文件格式以相反的顺序写入记录批次。
- ARROW-398 - [Java] Java 文件格式要求在没有空值时写入全为 1 的位图
- ARROW-399 - [Java] ListVector.loadFieldBuffers 忽略了 ArrowFieldNode 的长度元数据
- ARROW-400 - [Java] ArrowWriter 为 Struct 类型写入长度为 0
- ARROW-401 - [Java] 浮点向量在集成测试中应进行近似比较
- ARROW-402 - [Java] 集成测试中出现 "refCnt gone negative" 错误
- ARROW-403 - [JAVA] UnionVector: 创建传输对时没有将模式传输到目标向量
- ARROW-404 - [Python] 当仍有打开的文件句柄时关闭 HdfsClient 会导致崩溃
- ARROW-405 - [C++] 对在 HADOOP_HOME 中查找 include/hdfs.h 的要求不应过于严格
- ARROW-406 - [C++] 大型 HDFS 读取在进行 RPC 时必须利用设置的文件缓冲区大小
- ARROW-408 - [C++/Python] 移除已失效的 conda recipes
- ARROW-414 - [Java] "Buffer too large to resize to ..." 错误
- ARROW-420 - 对齐 Java 和 C++ 的 Date 实现
- ARROW-421 - [Python] 由 pyarrow::PyBytesReader 读取的零拷贝缓冲区必须保留对父 PyBytes 的引用,以避免过早的垃圾回收问题
- ARROW-422 - C++: 如果 RapidJSON 是 vendored 的,IPC 应依赖于 rapidjson_ep
- ARROW-429 - git-archive SHA-256 校验和正在改变
- ARROW-433 - [Python] 日期转换依赖于区域设置
- ARROW-434 - Python Parquet 读取中的段错误和编码问题
- ARROW-435 - C++: if(RAPIDJSON_VENDORED) 中的拼写错误
- ARROW-437 - [C++] 来自重写虚函数的 clang 编译器警告
- ARROW-445 - C++: arrow_ipc 在 arrow/ipc/Message_generated.h 生成之前被构建
- ARROW-447 - Python: 将标量/pylist 字符串编码与 pandas 的对齐。
- ARROW-455 - [C++] BufferOutputStream 析构函数未调用 Close()
- ARROW-469 - C++: 添加选项以使 resize 不会减少容量
- ARROW-481 - [Python] 修复 PARQUET-472 补丁中 Python 2.7 的回归问题
- ARROW-486 - [C++] arrow::io::MemoryMappedFile 不能转换为 arrow::io::FileInterface
- ARROW-487 - Python: 如果 ObjectBlock::Write 失败,ConvertTableToPandas 会发生段错误
- ARROW-494 - [C++] 当 MemoryMappedFile 被析构时,即使缓冲区引用仍然存在,内存也会被取消映射
- ARROW-499 - 更新文件序列化以使用流式序列化格式
- ARROW-505 - [C++] 修复发布模式下的编译器警告
- ARROW-511 - [Python] List[T] 转换未对单个数组实现
- ARROW-513 - [C++] 修复 AppVeyor 构建
- ARROW-519 - [C++] Xcode 6.4 中 libarrow.dylib 缺少虚函数表
- ARROW-523 - Python: 考虑 PARQUET-834 中的更改
- ARROW-533 - [C++] arrow::TimestampArray / TimeArray 的构造函数有问题
- ARROW-535 - [Python] 为 NPY_LONGLONG 添加类型映射
- ARROW-537 - [C++] 当具有非零长度的值为 null 时,StringArray/BinaryArray 的比较可能不正确
- ARROW-540 - [C++] 修复 ARROW-33 之后导致的构建问题
- ARROW-543 - C++: 延迟计算的 null_counts 计算的是非空条目的数量
- ARROW-544 - [C++] ArrayLoader::LoadBinary 在处理长度为 0 的数组时失败
- ARROW-545 - [Python] 在读取文件目录时忽略没有 .parq 或 .parquet 前缀的文件
- ARROW-548 - [Python] 为 pyarrow.Filesystem.read_parquet 添加 nthreads 选项
- ARROW-551 - C++: 使用 nullptr Array 构造 Column 会导致段错误
- ARROW-556 - [集成] 如果 cpp 构建路径不同,则无法运行集成测试
- ARROW-561 - 更新 java 和 python 依赖以改善下游打包体验