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] 创建一个与 Arrow-cpp 兼容的接口,用于从 Python 类文件对象读取字节
- 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++] 按值而不是按 const-ref 返回 shared_ptr?
- ARROW-33 - C++: 实现零拷贝数组切片
- ARROW-330 - [C++] CMake 函数以简化共享/静态库配置
- ARROW-332 - [Python] 添加辅助函数将 RecordBatch 转换为 pandas.DataFrame
- ARROW-333 - 使写入器即使在未写入数据时也更新其内部模式。
- ARROW-335 - 通过更好地封装 flatbuffers 来改进类型 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++] 实现 JSON 文件格式的 C++ 版本以进行测试
- ARROW-374 - Python: 阐明 API 中的 unicode 与二进制
- 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 移动到公共 utils 类
- ARROW-415 - C++: 添加 Equals 实现以比较表格
- ARROW-416 - C++: 添加 Equals 实现以比较列
- 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 dict
- 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] 添加 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 文档
错误修复
- 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 / etc. 方法用于内存映射文件实现
- 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 - 时间类型没有单位
- 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] 遵循结构体/映射字段名称的大小写
- ARROW-387 - [C++] arrow::io::BufferReader 不允许在零拷贝读取中共享内存所有权
- ARROW-390 - C++: CMake 在使用 ARROW_BUILD_TESTS=OFF 进行 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 配方
- ARROW-414 - [Java] “缓冲区太大而无法调整大小到 …” 错误
- ARROW-420 - 对齐 Java 和 C++ 之间的日期实现
- 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++: 添加选项以使调整大小不会减少容量
- 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++] 当长度不为零的值为空时,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 Array 构造 Column 会导致段错误
- ARROW-556 - [集成] 如果 cpp 构建路径不同,则无法运行集成测试
- ARROW-561 - 更新 Java 和 Python 依赖项以改进下游打包体验