Arrow 資料集允許您針對已分散在多個檔案中的資料進行查詢。這種資料分片可能表示分割,這可以加速僅觸及某些分割區(檔案)的查詢。
一個 Dataset
包含一個或多個 Fragments
,例如檔案,可能具有不同的類型和分割。
對於 Dataset$create()
,請參閱 open_dataset()
,它是它的別名。
DatasetFactory
用於提供對 Dataset
建立的更精細控制。
Factory
DatasetFactory
用於建立 Dataset
、檢查其中包含的片段的 Schema,並宣告分割。FileSystemDatasetFactory
是 DatasetFactory
的子類別,用於在本地檔案系統中發現檔案,這是目前唯一支援的檔案系統。
對於 DatasetFactory$create()
工廠方法,請參閱 dataset_factory()
,它是它的別名。一個 DatasetFactory
具有
$Inspect(unify_schemas)
:如果unify_schemas
為TRUE
,則將掃描所有片段並從中建立統一的 Schema;如果為FALSE
(預設),則僅檢查第一個片段的 schema。當您知道並信任所有片段都具有相同的 schema 時,請使用此快速路徑。$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 的新 Dataset。此方法目前僅支援在 schema 中新增、移除或重新排序欄位:您無法變更或轉換欄位類型。$schema
:主動綁定,傳回 Dataset 的 Schema;您也可以使用ds$schema <- new_schema
來替換資料集的 schema。
FileSystemDataset
具有以下方法
$files
:主動綁定,傳回FileSystemDataset
的檔案$format
:主動綁定,傳回FileSystemDataset
的 FileFormat
UnionDataset
具有以下方法
$children
:主動綁定,傳回所有子Dataset
。
另請參閱
open_dataset()
,用於建立 Dataset
的簡單介面