【问题标题】:How to read/write partitioned Apache Arrow or Parquet files into/out of Julia如何将分区的 Apache Arrow 或 Parquet 文件读入/写出 Julia
【发布时间】:2021-05-17 17:26:16
【问题描述】:

我正在尝试在 Julia 中读取和写入一个简单的数据集。数据集是mtcars,取自R,带有任意添加的列bt,带有随机布尔值。文件/文件夹结构(如下)是使用 R arrow 包编写的。

文件布局如下:

arr
|-- bt=false
|   `-- part-1.arrow
`-- bt=true
    `-- part-0.arrow

如何在 Julia 中忠实再现原始表格?

到目前为止我已经尝试过:

  1. 使用Parquet.jl 包。文档建议它应该自动检测 bool/string/date 类型列的分区文件夹结构。当我使用read_parquet(path; kwargs) 读取数据时,生成的数据结构没有bt 列。我尝试将 column_generator 关键字参数设置为默认的 Parquet.dataset_column_generator 但这不起作用。

  2. 使用Arrow.jl - 我找不到记录的方式(除非我误解了)直接读取分区数据结构。

R 不会生成额外的元数据文件来存储架构,但我知道这是可选的,不是箭头规范的一部分?

【问题讨论】:

标签: julia parquet apache-arrow


【解决方案1】:

试试这个。他们列出了这样的方法

parquet 文件或数据集中的分区也可以使用Tables.partitions 方法返回的迭代器进行迭代。

using Parquet, DataFrames
for partition in Tables.partitions(read_parquet(path))
    df = DataFrame(partition)
    ...
end

更多参考:https://github.com/JuliaIO/Parquet.jl

【讨论】:

    猜你喜欢
    • 2020-09-14
    • 1970-01-01
    • 2020-11-13
    • 2020-07-28
    • 2018-10-04
    • 1970-01-01
    • 2019-03-26
    • 2016-02-22
    • 1970-01-01
    相关资源
    最近更新 更多