Saltar a contenido

Append Writer

DKOps.table_governance.writers.append_writer

append_writer.py

Escritura incremental — INSERT INTO (append).

Databricks → saveAsTable mode=append Local PC → save(path) mode=append + refresh catálogo

Classes

AppendWriter

Bases: BaseWriter

Inserción incremental (append).

Uso
AppendWriter(contract).write(df)
Source code in src/DKOps/table_governance/writers/append_writer.py
class AppendWriter(BaseWriter):
    """
    Inserción incremental (append).

    Uso
    ---
        AppendWriter(contract).write(df)
    """

    @log_operation("append")
    def write(self, df: DataFrame, **kwargs) -> None:
        self.log.info(f"Iniciando APPEND | tabla='{self._table_name}'")

        self._validate(df)
        df = self._apply_defaults(df)
        df = self._reorder_columns(df)

        if self._dry_run:
            self._log_dry_run("append")
            return

        row_count = df.count()
        self._write_df(df, mode="append")

        self.log_write_ok("append", rows=row_count, target=self._table_name, mode="append")
Functions
write(df, **kwargs)
Source code in src/DKOps/table_governance/writers/append_writer.py
@log_operation("append")
def write(self, df: DataFrame, **kwargs) -> None:
    self.log.info(f"Iniciando APPEND | tabla='{self._table_name}'")

    self._validate(df)
    df = self._apply_defaults(df)
    df = self._reorder_columns(df)

    if self._dry_run:
        self._log_dry_run("append")
        return

    row_count = df.count()
    self._write_df(df, mode="append")

    self.log_write_ok("append", rows=row_count, target=self._table_name, mode="append")

Functions