[英]Split a parquet file in smaller chunks using dask
我正在嘗試使用帶有以下代碼的 DASK 拆分鑲木地板文件
import dask.dataframe as pd
df = pd.read_parquet(dataset_path, chunksize="100MB")
df.repartition(partition_size="100MB")
pd.to_parquet(df,output_path)
我在輸入中只有一個物理文件,即 file.parquet
該腳本的輸出也只有一個文件,即 part.0.parquet。
根據 partition_size 和 chunksize 參數,我應該在輸出中有多個文件
任何幫助,將不勝感激
df.repartition(partition_size="100MB")
返回一個Dask Dataframe 。
你必須寫:
df = df.repartition(partition_size="100MB")
您可以查看創建的分區數量df.npartitions
此外,您可以使用以下內容來編寫鑲木地板文件:
df.to_parquet(output_path)
由於 Parquet 文件旨在處理大文件,因此在編寫 Parquet 文件時,您還應該考慮使用參數compression=
。
你應該得到你所期望的。
注意:將import dask.dataframe as pd
編寫是誤導性的,因為import dask.dataframe as dd
是常用的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.