如何检索 parquet 文件中 TIMESTAMP 列的 idAdjustedUTC 标志值?

我有一个镶木地板文件,其中包含许多类型的列converted_type (legacy): TIMESTAMP_MICROS。我想检查该标志isAjustedToUTC是否正确。我可以这样得到:


import pyarrow.parquet as pq

import re   

 

arrow = pq.ParquetFile("/Parquet/File/Path/filename.parquet")

timestamp_string = str(arrow.metadata.row_group(0).column(79).statistics.logical_type)

re.search("isAdjustedToUTC=(.*), timeUnit",timestamp_string).group(1)

这给了我trueorfalse作为字符串。isAdjustedToUTC是否有另一种方法可以在不使用正则表达式的情况下检索 的值?


杨魅力
浏览 129回答 1
1回答

叮当猫咪

据我所知这是不可能的。属于不直接公开其底层成员的logical_type类型。pyarrow._parquet.ParquetLogicalType唯一可用的字段是:dir(logical_type)>> ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__pyx_vtable__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', 'to_json', 'type']您可以使用该to_json功能,但它与您建议的选项一样脏:import jsonjson.loads(logical_type.to_json())['isAdjustedToUTC']>> true
打开App,查看更多内容
随时随地看视频慕课网APP