外观
本页尚未翻译
本页内容仍为英文原文,源自官方文档 enterprise/distributed-write。中文翻译正在分批进行中。
Distributed Write
How LanceDB Enterprise distributes a CTAS import's writes across plan executors.
Applies to: Embedded ❌, Enterprise ✅
Distributed write applies specifically to importing data with CREATE TABLE ... AS SELECT: the query node that planned the statement partitions the source -- Parquet files from a HuggingFace dataset, or row-group ranges of an existing Lance dataset in object storage -- across plan executors, each of which writes its own uncommitted Lance data files and reports back. The query node collects those results and commits them together as the new table's first version; no separate coordinator service is involved. See Architecture.
mermaid
%%{init: {"theme": "base", "themeVariables": {
"background": "#ffffff", "primaryColor": "#ffffff", "primaryTextColor": "#221d19",
"primaryBorderColor": "#ad9e95", "lineColor": "#6b625c", "textColor": "#221d19",
"edgeLabelBackground": "#ffffff", "fontFamily": "Inter, sans-serif", "fontSize": "18px"
}}}%%
flowchart LR
S["Source<br/>HuggingFace Parquet, or an<br/>existing Lance dataset in<br/>S3 / GCS / Azure"]
Q["Query node<br/>plans the CTAS,<br/>commits the result"]
PE1["Plan executor<br/>writes uncommitted files"]
PE2["Plan executor<br/>writes uncommitted files"]
PE3["Plan executor<br/>writes uncommitted files"]
S --> Q
Q --> PE1
Q --> PE2
Q --> PE3
PE1 --> Q
PE2 --> Q
PE3 --> Q
classDef default fill:#ffffff,stroke:#ad9e95,stroke-width:1px,color:#221d19
classDef accent fill:#fff1ec,stroke:#e8582d,stroke-width:1.5px,color:#221d19
class Q accentAn ordinary INSERT or merge_insert, from SQL or the SDK, does not distribute this way -- it runs as a single write, on whichever node or process executes it. Only a CTAS import fans the write itself out across machines.
Write interfaces
- Import Datasets for the CTAS syntax this distributes.
- Insert data and Merge for the ordinary, non-distributed write paths.
- Storage Integration for configuring the source a CTAS import reads from.