请求是使用pyarrow来获取镶木地板文件的架构详细信息。可以使用以下代码获取列名。但是,无法获取其他列元数据(数据类型,可空性)。
schema = ParquetDataset.schema
column_count = {"column_count":len(schema.names)}
for index, columnname in enumerate(schema.names,1):
column_id = str(index)
column_name = str(columnname)
代码在python中。打印模式时,必填字段和数据类型可用。
<pyarrow._parquet.ParquetSchema object at 0x0000015FFFA1B730>
required group field_id=0 org.apache.avro.file.Header {
optional int64 field_id=1 XXXX;
optional binary field_id=2 XXXX (String);
optional int64 field_id=3 XXXX;
optional binary field_id=4 XXXX (String);
optional binary field_id=5 XXXX (String);
optional binary field_id=6 XXXX (String);
optional binary field_id=7 XXXX (String);
optional binary field_id=8 XXXX (String);
optional binary field_id=9 XXXX (String);
optional binary field_id=10 XXXX (String);
}