簡體   English   中英

使用 python,有沒有辦法將 polars dataframe 作為鑲木地板直接加載到 s3 存儲桶中

[英]with python, is there a way to load a polars dataframe directly into an s3 bucket as parquet

尋找這樣的東西:

保存Dataframe到csv直接到s3 Python

api 顯示這些 arguments: https://pola-rs.github.io/polars/py-polars/html/reference/api/polars.DataFrame.write_parquet.html

但我不確定如何將 df 轉換為 stream...

未經測試,因為我沒有 AWS 賬戶

您可以像這樣使用s3fs.S3File

import polars as pl
import s3fs

fs = s3fs.S3FileSystem(anon=True)  # picks up default credentials
df = pl.DataFrame(
    {
        "foo": [1, 2, 3, 4, 5],
        "bar": [6, 7, 8, 9, 10],
        "ham": ["a", "b", "c", "d", "e"],
    }
)
with fs.open('my-bucket/dataframe-dump.parquet', mode='wb') as f:
    df.write_parquet(f)

基本上s3fs給你一個符合fsspec的文件 object,polars 知道如何使用它,因為write_parquet接受任何常規文件或流。

如果您想更精細地管理您的 S3 連接,您可以從botocore連接構造為S3File object(請參閱上面鏈接的文檔)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM