我们正在使用 pyarrow 将数据附加到存储在 S3(分区)中的现有 parquet 数据集。这每小时在 AWS lambda 上运行几次。一个最小的例子是:
import pyarrow as pa
import pyarrow.parquet as pq
import s3fs
df = ... # Existing pandas df
table = pa.Table.from_pandas(df)
pq.write_to_dataset(
table,
filesystem=s3,
root_path=f"s3://s3-path/",
partition_cols=['year', "month"]
)
结果,将根据内部数据值将许多 parquet 文件写入 S3。我们的目标是通过输出结果文件名(S3 密钥)来跟踪哪些文件已写入文件系统。
有什么方法可以捕获由pyarrow
or编写的实际文件名s3fs
?Parquet 文件名是根据计算的哈希名称任意命名的,我没有看到提到的两个包的任何日志记录功能。