我们正在使用pyarrow将数据附加到存储在S3(分区)中的现有镶木地板数据集中。每小时在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"]
)
结果,根据内部数据值,许多镶木地板文件将被写入S3。我们的目的是通过输出结果文件文件名(S3键)来跟踪哪些文件已写入文件系统。
是否有任何方法可以捕获由pyarrow
或s3fs
写入的实际文件名? Parquet文件的名称是根据计算得出的哈希名称任意命名的,我对所提到的两个软件包都没有看到任何日志记录功能。