R的(现已被取代的)独立羽化库有一个名为的函数,该函数feather_metadata()
允许从磁盘上的羽化文件中读取列名和类型,而无需打开它们。这对于在 R 中加载羽毛文件时仅选择特定列很有用read_feather(path, columns = c(...))
现在羽毛格式是箭头库的一部分,feather_metadata()
不再包括在内。
箭头中是否有等效功能可以在加载之前从 R 读取磁盘上的列名和文件类型?
在当前版本的箭头 R 包中,没有直接替代feather::feather_metadata(path)
,但有两种解决方法可能对您有用:
如果您只需要列名(而不是数据类型),您可以这样做:
rf <- arrow::ReadableFile$create(path)
fr <- arrow::FeatherReader$create(rf)
names(fr)
如果你需要列的数据类型,你可以试试这个:
arrow::read_feather(path, as_data_frame = FALSE)
这给出了你正在寻找的输出,它应该非常快(因为它不会将文件转换为 R 数据帧)但它确实读取了完整的文件(或者至少它内存映射了完整的文件)因此,如果您的 Feather 文件非常大,您可能不想这样做。