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 wheels 提供基础架构
- ARROW-221 - 添加用于写入 Parquet 1.0 兼容逻辑类型的开关
- ARROW-227 - [C++/Python] 将 arrow_io 通用读取器/写入器接口挂钩到 arrow_parquet
- ARROW-228 - [Python] 创建一个与 Arrow-cpp 兼容的接口,用于从 Python 类文件对象读取字节
- ARROW-243 - [C++] 向 HdfsClient 添加“驱动程序”选项,以在运行时在 libhdfs 和 libhdfs3 之间进行选择
- ARROW-268 - [C++] 充实 union 实现,使其具有 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++] 通过值而不是 const-ref 返回 shared_ptr?
- ARROW-33 - C++:实现零拷贝数组切片
- ARROW-330 - [C++] CMake 函数,用于简化共享/静态库配置
- ARROW-332 - [Python] 添加帮助函数,将 RecordBatch 转换为 pandas.DataFrame
- ARROW-333 - 使写入器即使在未写入数据时也更新其内部 schema。
- ARROW-335 - 通过更好地封装 flatbuffers 来改进 Type apis 和 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++] 实现 C++ 版本的 ARROW-367 集成测试验证器
- ARROW-389 - Python:将 Parquet 文件写入 pyarrow.io.NativeFile 对象
- ARROW-394 - 为 boolean、list、struct 和其他基本类型添加集成测试
- 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 移动到公共 utils 类
- ARROW-415 - C++:添加 Equals 实现以比较 Tables
- ARROW-416 - C++:添加 Equals 实现以比较 Columns
- 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 内部 APIs 来避免 to_pandas 转换中不必要的内存复制
- ARROW-438 - [Python] 连接具有相等 schema 的 Table 实例
- ARROW-440 - [C++] 支持 pkg-config
- ARROW-441 - [Python] 将 Arrow 的文件和内存映射类公开为 NativeFile 子类
- ARROW-442 - [Python] 添加公共 Python API 以检查 Parquet 文件元数据
- ARROW-444 - [Python] 避免使用 PyBytes_* C APIs 造成的不必要的内存复制
- 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 - [集成] 为 Binary / Varbytes 类型添加集成测试
- 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] 添加将所有记录批次读取为 Table 的 StreamReader/FileReader 方法
- 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,并在 Windows 上构建 Arrow
- 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 File 中添加 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 文件读取器无法在 String 数据向量上设置缓冲区大小
- ARROW-395 - Arrow 文件格式以相反的顺序写入记录批次。
- ARROW-398 - [Java] 当没有 null 值时,Java 文件格式需要写入所有 1 的位图
- ARROW-399 - [Java] ListVector.loadFieldBuffers 忽略 ArrowFieldNode length 元数据
- 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] Date 转换依赖于区域设置
- ARROW-434 - Python Parquet 读取中的段错误和编码问题
- ARROW-435 - C++: if(RAPIDJSON_VENDORED) 中的拼写错误
- ARROW-437 - [C++] 来自重写虚拟函数的 clang 编译器警告
- ARROW-445 - C++: 在生成 arrow/ipc/Message_generated.h 之前构建 arrow_ipc
- ARROW-447 - Python: 使标量/pylist 字符串编码与 pandas 的编码对齐。
- ARROW-455 - [C++] BufferOutputStream dtor 不调用 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 中缺少 vtable
- 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] 将 nthreads 选项添加到 pyarrow.Filesystem.read_parquet
- ARROW-551 - C++: 使用 nullptr 数组构造 Column 时发生段错误
- ARROW-556 - [集成] 如果 cpp 构建路径不同,则无法运行集成测试
- ARROW-561 - 更新 Java 和 Python 依赖项以改善下游打包体验