当我在R和Python中(使用pyarrow)保存镶木地板文件时,会得到保存在元数据中的箭头架构字符串。
如何读取元数据?是Flatbuffer编码的数据吗?模式的定义在哪里?没有在箭头文档站点上列出。
元数据是一个像这样的键值对
key: "ARROW:schema"
value: "/////5AAAAAQAAAAAAAKAAwABgAFAAgACgAAAAABAwAEAAAAyP///wQAAAABAAAAFAAAABAAGAAIAAYABwAMABAAFAAQAAAAAAABBUAAAAA4AAAAEAAAACgAAAAIAAgAAAAEAAgAAAAMAAAACAAMAAgABwA…
作为用R编写的结果
df = data.frame(a = factor(c(1, 2)))
arrow::write_parquet(df, "c:/scratch/abc.parquet")
该模式是base64编码的flatbuffer数据。您可以使用以下代码在Python中读取架构:
import base64
import pyarrow as pa
import pyarrow.parquet as pq
meta = pq.read_metadata(filename)
decoded_schema = base64.b64decode(meta.metadata[b"ARROW:schema"])
schema = pa.ipc.read_schema(pa.BufferReader(decoded_schema))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句