avpath - Emplacement - Cloud

Guide d'utilisation de Talend Cloud Pipeline Designer

Version
Cloud
Language
Français
Product
Talend Cloud
Module
Talend Pipeline Designer
Content
Administration et monitoring > Monitoring de logs
Administration et monitoring > Monitoring des exécutions
Création et développement > Création de Pipelines
Déploiement > Déploiement > Exécution de Pipelines
Gouvernance de données > Filtrage de données
Qualité et préparation de données > Filtrage de données
Qualité et préparation de données > Gestion des jeux de données
Last publication date
2024-02-12
Pour sélectionner des éléments dans avpath, vous utilisez un emplacement. Un emplacement se compose d’une ou plusieurs sous-étapes.
  • Les sous-étapes commencent par un point ou deux points :

    Syntaxe

    Emplacement

    .property

    localise la propriété immédiatement sous les éléments de contexte

    .property

    localise la propriété loin sous les éléments de contexte

    .

    localise les éléments de contexte eux-mêmes

  • Vous pouvez utiliser le symbole de métacaractère au lieu du nom exact de la propriété :

    Syntaxe

    Emplacement

    .*

    localise toutes les propriétés descendant immédiatement des éléments de contexte

    ..*

    localise toutes les propriétés descendant en profondeur des éléments de contexte

  • avpath vous permet de joindre plusieurs propriétés  :

    Syntaxe

    Emplacement

    (.property1 | .property2 | .propertyN)

    localise property1, property2, propertyN immédiatement sous les éléments de contexte

    (.property1 | .property2.property2_1.property2_1_1)

    localise les éléments .property1, .property2.property2_1.property2_1_1

Votre emplacement peut être absolu ou relatif. Si l’emplacement commence par la racine (^), vous utilisez un emplacement absolu — votre emplacement commence par les éléments racine.

Exemple de données Avro (un enregistrement Avro contenant une liste de sous-enregistrements clients - customers) :

var doc =
"""
  {
    "customers" : [
      {
        "id": "1",
        "Firstname": "Quentin",
        "Lastname": "Novo",
        "Address": { "Street" : "South Roosevelt Drive" },
        "RegistrationDate": "20/01/2015",
        "Revenue": "55239",
        "States": "AZ"
      },
      {
        "id": "2",
        "Firstname": "Kip",
        "Lastname": "Von Celaeno",
        "Address": { "Street" : "Carpinteria Avenue" },
        "RegistrationDate": "19/05/2016",
        "Revenue": "78148",
        "States": "NC"
      },
      {
        "id": "3",
        "Firstname": "Beau",
        "Lastname": "Dash",
        "Address": { "Street" : "Corona Del Mar" },
        "RegistrationDate": "28/09/2009",
        "Revenue": "77912",
        "States": "CT"
      }
    ]
  };
"""

Exemple d’emplacement :

// find all customers addresses
avpath.select(doc, ".customers.Address")
// [{ Street : 'South Roosevelt Drive' }, { Street : 'Carpinteria Avenue' }, { Street : 'Corona Del Mar' }]

// find all customers address streets
avpath.select(doc, ".customers.Address.Street")
// ['South Roosevelt Drive', 'Carpinteria Avenue', 'Corona Del Mar' ]

// find all streets in customers*
avpath.select(doc, ".customers..Street")
// ['South Roosevelt Drive', 'Carpinteria Avenue', 'Corona Del Mar' ]