6

我有相当大的(~200Gb,~20M 行)原始 jsonl 数据集。我需要从那里提取重要属性并将中间数据集存储在 csv 中,以便进一步转换为 HDF5、parquet 等。显然,我不能JSONDataSet用于加载原始数据集,因为它pandas.read_json在后台使用,并且使用 pandas如此规模的数据集听起来是个坏主意。所以我正在考虑逐行读取原始数据集,处理并将处理后的数据逐行附加到中间数据集。

我无法理解的是如何使它AbstractDataSet与它的_load_save方法兼容。

PS 我知道我可以将其移出 kedro 的上下文,并将预处理数据集作为原始数据集引入,但这有点打破了完整管道的整个想法。

4

1 回答 1

4

尝试使用 pyspark 来利用惰性评估和批处理执行。SparkDataSet 在 kedro.contib.io.spark_data_set 中实现

jsonl 的示例目录配置:

your_dataset_name:   
  type: kedro.contrib.io.pyspark.SparkDataSet
  filepath: "\file_path"
  file_format: json
  load_args:
    multiline: True
于 2020-02-21T09:00:56.937 回答