我正在创建一个无法直接放入内存的非常大的文件。所以我在 S3 中创建了一堆小文件,并正在编写一个可以读取这些文件并合并它们的脚本。我正在使用 aws wrangler 来执行此操作
我的代码如下:
try:
dfs = wr.s3.read_parquet(path=input_folder, path_suffix=['.parquet'], chunked=True, use_threads=True)
for df in dfs:
path = wr.s3.to_parquet(df=df, dataset=True, path=target_path, mode="append")
logger.info(path)
except Exception as e:
logger.error(e, exc_info=True)
logger.info(e)
问题是 w4.s3.to_parquet 创建了很多文件,而不是写入一个文件,我也无法删除 chunked=True ,否则我的程序会因 OOM 而失败
我如何使它在 s3 中写入单个文件。