Parquet文件名由三个部分组成,分别是Commit Time、FileID和Partition Path。其中,Commit Time代表文件所属的提交时间;FileID代表该文件在提交时的唯一标识符,用于区分文件;Partition Path则表示文件在分区中的路径。下面是Python代码示例,演示如何获取Parquet文件名的每个部分:
import pyarrow.parquet as pq
# 读取Parquet文件
table = pq.read_table("path/to/parquet/file")
# 获取文件名
file_name = table.schema.metadata[b"hudi:commit_time"]
# 获取Commit Time
commit_time = file_name.decode("utf-8").split("_")[0]
# 获取FileID
file_id = file_name.decode("utf-8").split("_")[1]
# 获取Partition Path
partition_path = "/".join(file_name.decode("utf-8").split("_")[2:])
其中,table对象是由PyArrow库读取Parquet文件得到的。通过table.schema.metadata[b"hudi:commit_time"]获取到文件名,再对文件名进行解析,便可得到每个部分的值。