问题描述
我有数百个实木复合地板文件,我想将列名和关联的数据类型放入python列表中。我知道我可以获得模式,它以以下格式出现:
COL_1: string
-- field Metadata --
PARQUET:field_id: '34'
COL_2: int32
-- field Metadata --
PARQUET:field_id: '35'
我只想要:
COL_1 string
COL_2 int32
解决方法
为了从拼花地板转到箭头(反之亦然),在PARQUET
键下将一些元数据添加到了模式
您可以轻松删除元数据:
table = pa.Table.from_arrays(
[pa.array([1,2]),pa.array(['foo','bar'])],schema=pa.schema({'COL1': pa.int32(),'COL2': pa.string()})
)
pq.write_table(table,'/tmp/table.pq')
parquet_file = pq.ParquetFile('/tmp/table.pq')
schema = pa.schema(
[f.remove_metadata() for f in pqf.schema_arrow])
schema
这将打印:
COL1: int32
COL2: string
请记住,如果您开始编写自己的元数据,则只想删除PARQUET
键下的元数据。