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 或NULL
paths
: 一个文件路径的字符向量或NULL
format
: 一个 FileFormatpartitioning
: 一个Partitioning
、PartitioningFactory
或NULL
方法
一个 Dataset
具有以下方法
$NewScan()
: 返回一个 ScannerBuilder 用于构建查询$WithSchema()
: 返回一个具有指定架构的新数据集。此方法目前仅支持在架构中添加、删除或重新排序字段:您无法更改或转换字段类型。$schema
: 活动绑定,返回数据集的 Schema;您还可以使用ds$schema <- new_schema
来替换数据集的架构。
FileSystemDataset
具有以下方法
$files
: 活动绑定,返回FileSystemDataset
的文件$format
: 活动绑定,返回FileSystemDataset
的 FileFormat
UnionDataset
具有以下方法
$children
: 活动绑定,返回所有子Dataset
。
另请参见
open_dataset()
用于创建 Dataset
的简单界面