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