我正在寻找使用来自hadoop的PyArrow读取多个csv文件,但我不知道如何做到这一点。
为了给您提供更多背景信息,我有一些包含多个 csv 文件的文件夹
文件夹:
我想按顺序阅读它们,这样我就可以生成小于 150 MB 的 parquet 文件(例如)。例如,如果所有这些文件都生成了一个 300 MB 的 parquet 文件,我想将该文件拆分为 2 个 150 MB 的文件。
现在,我只有这个,但它为 1 个 csv 生成 1 个镶木地板文件,这不是我所期望的
我在互联网上没有找到任何东西......我唯一看到的东西:
要导出多个镶木地板文件,我没有找到任何东西......
from pyarrow import csv
from pyarrow import parquet
from pyarrow import fs
hdfs = fs.HadoopFileSystem("default")
with hdfs.open_input_file("path") as f:
csv_file = csv.read_csv(f)
parquet.write_table(csv_file, "newpath")
非常感谢!
但我不能,因为我在读取 csv 时需要 read_options、parse_options 和 Convert_options
您可以将
file_format
参数传递给 pyarrow.dataset.dataset,类型为 CsvFileFormat,它可以接受 parse_options 和 convert_option
。