multi_writer
sqllocks_spindle.fabric.multi_writer
¶
MultiWriter — concurrent fan-out to multiple Fabric stores.
Classes¶
StoreResult
dataclass
¶
Result from a single store write.
MultiWriteResult
dataclass
¶
Aggregated result from writing to multiple stores.
MultiWriter
¶
Write generated data to multiple Fabric stores concurrently.
Fans out to all configured writers using ThreadPoolExecutor. Each writer runs concurrently. Partial failures are captured without aborting other stores.
Example::
from sqllocks_spindle.fabric import (
EventhouseWriter, WarehouseBulkWriter,
LakehouseFilesWriter, MultiWriter,
)
mw = MultiWriter(
eventhouse=EventhouseWriter(...),
lakehouse=LakehouseFilesWriter(...),
)
result = mw.write(tables)
print(result.summary())
Methods:¶
write(tables, **kwargs)
¶
Write tables to all configured stores concurrently.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tables
|
dict[str, DataFrame]
|
Mapping of table_name -> DataFrame. |
required |
**kwargs
|
Any
|
Extra args forwarded to each writer's write_all(). |
{}
|
Returns:
| Type | Description |
|---|---|
MultiWriteResult
|
MultiWriteResult aggregating per-store results. |