【问题标题】:How to create pandas dataframe from parquet files kept on google storage如何从保存在谷歌存储中的镶木地板文件创建熊猫数据框
【发布时间】:2020-02-25 12:39:25
【问题描述】:

我需要使用托管在谷歌云存储桶上的 parquet 文件使用 pandas 库创建数据框。我已经搜索了文档和在线示例,但似乎无法弄清楚如何去做。

您能帮我指出正确的方向吗?

我不是在寻找解决方案,而是寻找可以查找更多信息的位置,以便我可以设计自己的解决方案。

提前谢谢你。

【问题讨论】:

    标签: python pandas dataframe google-cloud-storage parquet


    【解决方案1】:

    您可以使用 gcsfspyarrow 库来执行此操作。

    import gcsfs
    from pyarrow import parquet
    
    url = "gs://bucket_name/.../folder_name"
    fs = gcsfs.GCSFileSystem()
    
    // Assuming your parquet files start with `part-` prefix
    files = ["gs://" + path for path in fs.glob(url + "/part-*")]
    ds = parquet.ParquetDataset(files, filesystem=fs)
    df = ds.read().to_pandas()
    

    【讨论】:

    • 建议更明确地使用"/*.parquet" 而不是"/part-*"
    【解决方案2】:

    您可以像这样使用pandas.read_parquet 阅读它:

    df = pandas.read_parquet('gs:/bucket_name/file_name')
    

    此外,您还需要安装gcsfs 库和pyarrowfastparquet

    如果您访问私有存储桶,请不要忘记provide credentials

    【讨论】:

    • 您好,感谢您的回答。它很接近,但有一个问题。上述方法读取一个镶木地板文件 - 同意,但如果一个文件夹有多个镶木地板文件 - 它不起作用或者是否要添加其他选项?基本上我不会知道是否会有单个拼花文件或多个,这就是我需要实现的。
    • 您可以获取存储桶中的文件列表,然后通过循环对其进行迭代并逐个读取文件。有关示例,请参阅this question。我认为没有一种方法可以一次读取整个存储桶。
    • 我建议您更新您最后的评论作为答案,我会接受它,因为没有其他选择。
    猜你喜欢
    • 2017-04-25
    • 1970-01-01
    • 2021-07-05
    • 2022-11-24
    • 2019-10-19
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 2020-11-03
    相关资源
    最近更新 更多