如何检索镶木地板文件中 TIMESTAMP 列的 idAdjustedUTC 标志值?
How to retrieve idAdjustedUTC flag value for a TIMESTAMP column in a parquet file?
我有一个 parquet 文件,其中包含许多 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)
这给了我 true
或 false
作为字符串。有没有另一种方法可以不使用正则表达式来检索 isAdjustedToUTC
的值?
据我所知这是不可能的。 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 json
json.loads(logical_type.to_json())['isAdjustedToUTC']
>> true
我有一个 parquet 文件,其中包含许多 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)
这给了我 true
或 false
作为字符串。有没有另一种方法可以不使用正则表达式来检索 isAdjustedToUTC
的值?
据我所知这是不可能的。 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 json
json.loads(logical_type.to_json())['isAdjustedToUTC']
>> true