Arrow 数据集允许您查询分布在多个文件中的数据。这种数据分片可能表示分区,这可以加速仅涉及某些分区(文件)的查询。
Dataset
包含一个或多个 Fragment
(例如文件),它们可能具有不同的类型和分区。
关于 Dataset$create()
,请参阅 open_dataset()
,它是其别名。
DatasetFactory
用于对 Dataset
的创建进行更精细的控制。
工厂
DatasetFactory
用于创建 Dataset
,检查其中包含的片段的模式,并声明分区。FileSystemDatasetFactory
是 DatasetFactory
的子类,用于发现本地文件系统中的文件,这是当前唯一支持的文件系统。
关于 DatasetFactory$create()
工厂方法,请参阅 dataset_factory()
,它是其别名。DatasetFactory
具有以下方法:
$Inspect(unify_schemas)
:如果unify_schemas
为TRUE
,则将扫描所有片段,并从中创建一个统一的模式;如果为FALSE
(默认值),则仅检查第一个片段的模式。当您知道并确信所有片段都具有相同的模式时,请使用此快速路径。$Finish(schema, unify_schemas)
:返回一个Dataset
。如果提供了schema
,它将用于Dataset
;如果省略,将根据对数据集中片段(文件)的检查创建一个Schema
,并按照上述unify_schemas
的描述进行操作。
FileSystemDatasetFactory$create()
是一个较低级别的工厂方法,它接受以下参数:
方法
Dataset
具有以下方法:
$NewScan()
:返回一个ScannerBuilder 用于构建查询$WithSchema()
:返回一个具有指定模式的新数据集。此方法目前仅支持在模式中添加、删除或重新排序字段:您不能更改或转换字段类型。$schema
:活动绑定,返回数据集的模式;您也可以使用ds$schema <- new_schema
替换数据集的模式。
FileSystemDataset
具有以下方法:
$files
:活动绑定,返回FileSystemDataset
的文件$format
:活动绑定,返回FileSystemDataset
的文件格式
UnionDataset
具有以下方法:
$children
:活动绑定,返回所有子Dataset
。
另请参阅
open_dataset()
用于创建 Dataset
的简单接口