跳至内容

Arrow 数据集允许您查询已拆分为多个文件的数据。这种数据的分割可能表示分区,这可以加速仅涉及某些分区(文件)的查询。

一个 Dataset 包含一个或多个 Fragments,例如文件,可能具有不同的类型和分区。

对于 Dataset$create(),请参见 open_dataset(),它是它的别名。

DatasetFactory 用于提供对 Dataset 创建的更精细控制。

工厂

DatasetFactory 用于创建 Dataset,检查其中包含的片段的 Schema 并声明分区。FileSystemDatasetFactoryDatasetFactory 的子类,用于发现本地文件系统中的文件,这是目前唯一支持的文件系统。

对于 DatasetFactory$create() 工厂方法,请参见 dataset_factory(),它是它的别名。一个 DatasetFactory 具有

  • $Inspect(unify_schemas): 如果 unify_schemasTRUE,则将扫描所有片段,并从它们中创建统一的 Schema;如果为 FALSE(默认值),则只会检查第一个片段的架构。当您知道并信任所有片段具有相同的架构时,请使用此快速路径。

  • $Finish(schema, unify_schemas): 返回一个 Dataset。如果提供 schema,它将用于 Dataset;如果省略,将从检查数据集中的片段(文件)中创建 Schema,遵循上面描述的 unify_schemas

FileSystemDatasetFactory$create() 是一个更低级的工厂方法,并接受以下参数

  • filesystem: 一个 FileSystem

  • selector: 一个 FileSelectorNULL

  • paths: 一个文件路径的字符向量或 NULL

  • format: 一个 FileFormat

  • partitioning: 一个 PartitioningPartitioningFactoryNULL

方法

一个 Dataset 具有以下方法

  • $NewScan(): 返回一个 ScannerBuilder 用于构建查询

  • $WithSchema(): 返回一个具有指定架构的新数据集。此方法目前仅支持在架构中添加、删除或重新排序字段:您无法更改或转换字段类型。

  • $schema: 活动绑定,返回数据集的 Schema;您还可以使用 ds$schema <- new_schema 来替换数据集的架构。

FileSystemDataset 具有以下方法

  • $files: 活动绑定,返回 FileSystemDataset 的文件

  • $format: 活动绑定,返回 FileSystemDatasetFileFormat

UnionDataset 具有以下方法

  • $children: 活动绑定,返回所有子 Dataset

另请参见

open_dataset() 用于创建 Dataset 的简单界面