Skip to content

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.