Data Hub Writer

Le node Data Hub Writer insère, met à jour, fusionne ou supprime des lignes dans les tables du Data Hub de votre organisation, sans intégration à configurer.

À quoi sert le node Data Hub Writer ?

Le node Data Hub Writer exécute une requête INSERT, UPDATE, MERGE ou DELETE sur les tables du Data Hub de votre organisation. Il fonctionne comme le Google BigQuery Writer, avec le même éditeur SQL, la même gestion des tableaux et la même sortie, mais sans intégration BigQuery : la requête s’exécute avec l’identité Data Hub de votre organisation, qui ne peut écrire que dans les datasets de votre organisation.

Info

Le node n’est disponible que pour les organisations dont le Data Hub est activé. Contactez votre administrateur DNG pour l’activer.

Cas d’usage courants :

  • Enregistrer le contenu généré par produit (titres, descriptions) dans une table du Data Hub
  • Stocker des classifications ou des scores calculés par un workflow lancé depuis un pipeline Data Hub
  • Mettre à jour ou fusionner des lignes d’une table du Data Hub depuis un workflow

Configuration rapide

Ajouter le node au canvas

Cherchez Data Hub Writer dans la section Integrations de la bibliothèque de nodes et déposez-le sur le canvas.

Choisir le type de requête

Choisissez INSERT, UPDATE, MERGE ou DELETE.

Écrire la requête SQL

Ouvrez l’éditeur SQL et cliquez sur Tables pour parcourir vos tables du Data Hub, changer de localisation (EU, US), filtrer par nom ou par label, et cliquer sur une table pour insérer son nom complet (par exemple `dng_org_123456789_eu.product_content`) au curseur. Utilisez des {{variables}} pour les valeurs venant des nodes en amont. Validate et Run test vérifient la requête par un dry run : rien n’est écrit depuis l’éditeur.

Connecter la sortie

Le port de sortie émet le résultat de l’exécution (lignes affectées, IDs de jobs) en JSON.

Paramètres de configuration

Champs obligatoires

query_type string required

Query Type — insert, update, merge ou delete. Doit correspondre au premier mot-clé de la requête.

sql_query string required

SQL Query — La requête DML à exécuter sur vos tables du Data Hub, référencées en dataset.table. Les variables comme {{sku_id}} sont résolues à l’exécution. Une variable qui contient un tableau d’objets JSON est rendue en clause VALUES multi-lignes et découpée en plusieurs requêtes si elle est trop grande.

INSERT INTO dng_org_123456789_eu.product_content (sku_id, new_title, updated_at)
VALUES ('{{sku_id}}', r"""{{new_title}}""", CURRENT_TIMESTAMP())

Que produit le node en sortie ?

execution_result string

Une chaîne JSON avec le type de requête, le nombre de lignes affectées, les IDs des jobs BigQuery et le nombre de morceaux envoyés.

{
  "success": true,
  "query_type": "insert",
  "job_id": "job_abc123",
  "job_ids": ["job_abc123"],
  "num_dml_affected_rows": 1,
  "total_bytes_processed": 0,
  "chunks": 1
}

Exemples d’utilisation

Exemple 1 : enregistrer un titre généré par produit

Lancez le workflow depuis une étape batch d’un pipeline Data Hub (une exécution par produit), générez le titre avec un LLM, puis :

  • Query Type : insert
  • SQL Query :
    INSERT INTO dng_org_123456789_eu.product_content (sku_id, new_title, updated_at)
    VALUES ('{{sku_id}}', r"""{{new_title}}""", CURRENT_TIMESTAMP())

Exemple 2 : fusionner une liste de résultats

Un Code Block renvoie les résultats sous forme de tableau JSON dans items :

  • Query Type : merge
  • SQL Query :
    MERGE dng_org_123456789_eu.gpc_results T
    USING (
      SELECT JSON_VALUE(item, '$.sku_id') AS sku_id,
             JSON_VALUE(item, '$.gpc_path') AS gpc_path
      FROM UNNEST(JSON_QUERY_ARRAY(r'''{{items}}''')) AS item
    ) S
    ON T.sku_id = S.sku_id
    WHEN MATCHED THEN UPDATE SET gpc_path = S.gpc_path
    WHEN NOT MATCHED THEN INSERT (sku_id, gpc_path) VALUES (S.sku_id, S.gpc_path)

Problèmes courants

Data Hub is not enabled for this organization

Cause : le Data Hub n’est pas activé pour votre organisation, ou il a été désactivé.

Solution : contactez votre administrateur DNG pour activer le Data Hub.

Access Denied sur une table

Cause : la requête vise un dataset hors du Data Hub de votre organisation.

Solution : seules les tables du Data Hub de votre organisation peuvent être modifiées. Insérez la table depuis le panneau Tables de l’éditeur SQL.

Query must start with INSERT, UPDATE, MERGE, or DELETE

Cause : la requête est un SELECT ou une autre instruction.

Solution : utilisez le Data Hub Reader pour lire des données ; ce node ne fait qu’écrire.

Bonnes pratiques

Tip

Préférez un tableau à de nombreuses petites écritures. Liez une variable {{rows}} à un tableau d’objets JSON : le node les écrit en quelques requêtes au lieu d’une par ligne.

Warning

Les écritures ne sont pas atomiques entre morceaux. Quand un grand tableau est découpé en plusieurs requêtes, un échec laisse les morceaux précédents écrits.

Nodes associés