Skip to content

Modes d'écriture

Noria propose 9 modes d'écriture pour contrôler comment les données sont insérées dans les tables cibles.

replace (défaut)

DROP + CREATE TABLE AS SELECT. Toujours une copie fraîche.

output_write: replace

append

INSERT INTO la table existante. Crée la table si elle n'existe pas encore.

output_write: append

truncate

TRUNCATE puis INSERT. Crée la table si absente.

output_write: truncate

merge

Supprime les lignes dont la clé existe dans la nouvelle sélection, puis insère.

output_write: merge
merge_key: [id_client]

create_if_not_exists

CREATE TABLE IF NOT EXISTS AS SELECT. No-op si la table existe déjà.

output_write: create_if_not_exists

safe_replace

Comme replace, mais avorte si le SELECT renvoie moins de lignes que safe_replace_min_rows. Protège contre les écrasements accidentels.

output_write: safe_replace
safe_replace_min_rows: 1000

incremental

Supprime les lignes correspondant à la partition (clé), puis insère. Les autres partitions ne sont pas touchées.

output_write: incremental
incremental_key: date_commande

scd2 ⭐ Nouveau

Slowly Changing Dimension Type 2. Gère automatiquement _valid_from, _valid_to (NULL = courant), _is_current.

output_write: scd2
scd2_key: [id_client]
scd2_updated_at: updated_at   # optionnel

update ⭐ Nouveau

UPDATE ciblé sur les lignes existantes, sans insérer ni supprimer.

output_write: update
update_key: [id_client]
update_cols: [nom, email]   # optionnel — tous les non-key cols si absent