【问题标题】:Convert csv into parquet in kedro在kedro中将csv转换为镶木地板
【发布时间】:2020-02-24 19:29:26
【问题描述】:

我的 CSV 文件很大,无法放入内存,我需要将其转换为 .parquet 文件以使用 vaex。

这是我的目录:

raw_data:
    type: kedro.contrib.io.pyspark.SparkDataSet
    filepath: data/01_raw/data.csv
    file_format: csv

parquet_data:
    type: ParquetLocalDataSet
    filepath: data/02_intermediate/data.parquet

节点:

def convert_to_parquet(data: SparkDataSet) -> ParquetLocalDataSet:
    return data.coalesce(1)

还有一个管道:

def create_pipeline(**kwargs):
    return Pipeline(
        [
            node(
                func=convert_to_parquet,
                inputs="raw_data",
                outputs="parquet_data",
                name="data_to_parquet",
            ),
        ]
    )

但如果我这样做 kedro run 我会收到此错误 kedro.io.core.DataSetError: Failed while saving data to data set ParquetLocalDataSet(engine=auto, filepath=data/02_intermediate/data.parquet, save_args={}). 'DataFrame' object has no attribute 'to_parquet'

我应该解决什么问题才能转换我的数据集?

【问题讨论】:

    标签: python kedro


    【解决方案1】:

    您可以尝试以下方法。这在过去对我有用。

    parquet_data:
        type: kedro.contrib.io.pyspark.SparkDataSet
        file_format: 'parquet'
        filepath: data/02_intermediate/data.parquet
        save_args:
    

    【讨论】:

    • kedro.contrib.io.pyspark.SparkDataSet 应该像 Sriram 那样工作是正确的。 ParquetLocalDataSet 用于 pandas 数据帧。
    猜你喜欢
    • 2014-11-25
    • 2018-01-04
    • 2018-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2017-01-18
    • 2019-03-23
    相关资源
    最近更新 更多