Accéder au contenu principal Passer au contenu complémentaire

Propriétés du tDataMasking pour Apache Spark Streaming

Ces propriétés sont utilisées pour configurer le tDataMasking s'exécutant dans le framework de Jobs Spark Streaming.

Le composant tDataMasking Spark Streaming appartient à la famille Qualité de données.

Ce composant est disponible dans Talend Real-Time Big Data Platform et dans Talend Data Fabric.

Basic settings

Schema et Edit Schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

Cliquez sur Sync columns pour récupérer le schéma du composant précédent dans le Job.

Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs.

    Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

Note InformationsA faire : Lorsque vous sélectionnez le type de données Dynamic (Dynamique), rappelez-vous que :
  • La fonction de masquage de données s'applique à toutes les données de la colonne dynamique. Par exemple, si les colonnes de données sont name, address et email, la fonction de masquage de données s'applique à ces données en tant que données séparées, et non en tant que tout.
  • Si certains types de données de la colonne dynamique sont incompatibles avec certaines fonctions de masquage de données, le Job échoue. Par exemple, la fonction Email Masking (Masquage d'e-mail) est incompatible avec le type de données Integer.
  • Certaines fonctions de masquage de données valident les données d'entrée. Lorsqu'au moins une donnée d'un enregistrement ne peut être masquée, l'enregistrement va dans le flux de sortie invalide.
Le schéma de sortie de ce composant comporte des colonnes en lecture seule :
  • TWEAK : un tweak est généré lorsque la case Use tweaks with FF1 Encryption est cochée. Cette colonne contient le tweak nécessaire au déchiffrement des données.
  • ORIGINAL_MARK : indique par true ou false si l'enregistrement est un enregistrement original ou un enregistrement de substitution, respectivement.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Modifications

Définissez dans la table les champs à modifier et comment les modifier

Input Column : sélectionnez la colonne à partir du flux entrant contenant les données à masquer.

Les types de données supportés sont : Date, Double, Float, Integer, Long et String.

Ces modifications sont basées sur la fonction sélectionnée dans la colonne Function.

Category : sélectionnez une catégorie de fonctions de masquage à partir de la liste.
  • Character Handling
  • Data Handling
  • Number Handling
  • Bank Account Generation
  • Data Generation
  • Phone Number generation
  • SSN Generation
  • Bank Account Masking
  • Address Masking
  • Email Masking
  • Credit Card Masking
  • Phone Masking
  • SSN Masking
  • Set to null

Function : sélectionnez la fonction qui masquera ou obscurcira les données originales avec des substituts. Par exemple, vous pouvez remplacer des chiffres ou des lettres par des substituts de votre choix, remplacer des valeurs par des synonymes d'un fichier index ou des valeurs nulles.

Les fonctions que vous pouvez sélectionner dans la liste Function dépendent du type de données de la colonne d'entrée.

Par exemple, si le type de colonne est Long, vous pouvez utiliser la fonction Numeric variance. Si le type de colonne est String, la fonction Numeric variance sera indisponible. La liste Function pour une colonne de type Date est spécifique aux dates, elle vous permet de décider du type de modification que vous souhaitez effectuer sur les valeurs de date.

Method : Sélectionnez la méthode Basic ou un algorithme de chiffrement FF1 conservant le format (Format-Preserving Encryption, FPE) dans la liste, FF1 with AES ou FF1 with SHA-2 :

La méthode Basic est l'algorithme par défaut.

Note InformationsRemarque : Comme les méthodes de masquages sont fortes, il est recommandé d'utiliser les algorithmes FF1 plutôt que la méthode Basic.

La méthode FF1 with AES se base sur le standard de chiffrement avancé (Advanced Encryption Standard) en mode CBC. La méthode FF1 with SHA-2 dépend de la fonction de hachage sécurisée HMAC-256.

Note InformationsRemarque : La version minimale requise pour utiliser la méthode FF1 with AES est Java 8u161. Pour pouvoir utiliser la méthode FPE avec les versions Java antérieures à 8u161, téléchargez les fichiers de règles Java Cryptography Extension (JCE) de juridiction illimitée du site d'Oracle.

Les méthodes FF1 with AES et FF1 with SHA-2 nécessitent un mot de passe à spécifier dans le champ Password or 256-bit key for FF1 methods de l'onglet Advanced settings afin de générer des valeurs masquées uniques.

La liste Alphabet est disponible uniquement pour les fonctions utilisant les algorithmes Format-Preserving Encryption.

Lorsque vous utilisez les fonctions de gestion des caractères (Character handling), comme Replace all (Remplacer tout), Replace characters between two positions (Remplacer les caractères entre deux positions), Replace all digits (Remplacer tous les chiffres) avec les méthodes FPE, vous devez sélectionner un alphabet.

Les caractères appartenant aux alphabets sélectionnés sont masqués par les caractères du même type de caractères dans l'alphabet sélectionné.

Lorsque vous sélectionnez l'alphabet Best guess, les valeurs masquées contiennent des caractères d'autres alphabets affichés dans les valeurs d'entrée. Best guess est l'alphabet par défaut.

Tout caractère non reconnu est copié à l'identique dans la sortie.

Extra Parameter : ce champ est utilisé par certaines fonctions et est désactivé lorsqu'il n'est pas applicable. Lorsqu'il est applicable, saisissez un nombre ou une lettre pour décider du comportement de la fonction sélectionnée.

Lorsque vous configurez Function à Generate from file/list, définissez le chemin d'accès au fichier dans Extra Parameter. Configurez le chemin d'accès au fichier comme suit :
  • En mode local :
    • Apache Spark 3.1 et versions précédentes : prefix://file path ou file:///file path.
    • Apache Spark 3.2 et supérieures : file:///file path.
  • En modes Standalone et Yarn : prefix://file path.
  • Si l'index se situe dans un cluster : hdfs://hdpnameservice1/file path.

Keep format : cette fonction s'applique uniquement aux chaînes de caractères (Strings). Cochez cette case pour conserver le format d'entrée lors de l'utilisation des fonctions ou catégories Generate account number and keep original country, Generate credit card number and keep original bank, Bank Account Masking, Credit Card Masking, Phone Masking et SSN Masking. Cela signifie que, si les données d'entrée contiennent des espaces, points ('.'), tirets ('-') ou barre obliques ('/'), ces caractères sont laissés dans la sortie. Si vous cochez cette case lorsque vous utilisez les fonctions de Phone Masking, les caractères de l'entrée qui ne sont pas des nombres restent inchangés dans la sortie.

Paramètres avancés

FF1 settings

Password or 256-bit key for FF1 methods : Configurez le mot de passe ou la clé secrète requis·e pour que les méthodes FF1 with AES et FF1 with SHA-2 génèrent des valeurs masquées uniques. Si aucun mot de passe n'est défini, un mot de passe aléatoire est créé à chaque exécution de Job. Lorsque vous utilisez les méthodes FF1 with AES et FF1 with SHA-2 et un mot de passe, la graine du champ Seed for random generator n'est pas utilisée.

Vous pouvez obtenir la clé de 256 bits via
  • des outils en ligne
  • OpenSSL : openssl rand -base64 32

Use tweaks with FF1 Encryption : Cochez cette case pour utiliser des tweaks. Un tweak unique est généré pour chaque enregistrement et s'applique à toutes les données d'un enregistrement. Si un masquage bijectif est nécessaire, n'utilisez pas cette fonctionnalité. Pour plus d'informations concernant les tweaks, consultez fonctions de masquage de données.

Use a column containing the tweaks : Disponible lorsque la case Use tweaks with FF1 Encryption est cochée. Cochez cette case pour utiliser une colonne d'entrée en entrée pour les tweaks, qui doivent être des chaînes de caractères comprenant 32 chiffres hexadécimaux.

Column containing the tweaks : Disponible lorsque la case Use a column containing the tweaks est cochée. Sélectionnez la colonne contenant les tweaks.

Key derivation function  : Sélectionnez la fonction de dérivation de clé. Les Jobs créés dans le Studio Talend 8.0 R2022-04 s'exécutent avec PBKDF2 with 300,000 iterations.

Lorsque vous importez un Job antérieur à la version 8.0 R2022-04 du Studio Talend, vous pouvez exécuter le Job avec 300 000 itérations. Les résultats seront différents par rapport à l'utilisation de 65 536 itérations.

Seed for random generator

Configurez un nombre aléatoire si vous souhaitez générer les mêmes échantillons de données de substitution pour chaque exécution du Job. La graine n'est pas configurée par défaut.

Ce champ est de type Long. L'intervalle de valeurs est [-263, 263-1].

Si vous ne configurez pas la graine, le composant crée une nouvelle graine aléatoire pour chaque exécution du Job. Répéter l'exécution avec une graine différente pour ce champ génère un échantillon différent.

Encoding

Sélectionnez l'encodage à partir de la liste ou sélectionnez Custom et définissez-le manuellement. Si vous sélectionnez Custom et que vous laissez le champ vide, les encodages supportés dépendent de la JVM que vous utilisez. Ce champ est obligatoire pour l'encodage de fichiers.

Output the original row

Cochez cette case pour écrire en sortie les données originales en plus des données de substitution. Il peut être utile d'écrire en sortie les données substituts et originales lors de débogages ou de tests.

Null input returns null

Cette case est cochée par défaut. Lorsqu'elle est cochée, le composant écrit en sortie null lorsque les valeurs d'entrée sont null.

Lorsque la case est décochée et que les données d'entrée sont Null, la fonction de masquage s'applique :
  • Les fonctions qui ne valident pas les données d'entrée (les fonctions Character handling (Gestion de caractères), Address Masking function (Fonction de masquage des adresses) et Numeric variance (Variance numérique)) retournent la valeur par défaut, en fonction du type de données :
    • Chaîne de caractères : Sortie vide.
    • Entrée numérique : 0.

    Pour la fonction Date variance (Variance de la date), la date de sortie est celle d'exécution du Job.

  • Les fonctions de génération génèrent une nouvelle valeur. Les données sont envoyées dans le flux principal.
  • Les fonctions de validation (Email Masking (Masquage d'e-mail), Phone Masking (Masquage de numéros de téléphone), Credit Card Masking (Masquage des cartes de crédit), SSN Masking (Masquage de numéro de Sécurité Sociale) et Bank Account Masking (Masquage de compte bancaire)) ne peuvent valider la valeur. Les données sont envoyées dans le flux de sortie "Invalid".

À partir de la version R2024-08 du Studio Talend, lorsque la case Null input returns null est cochée et que les données d'entrée sont null, la fonction de masquage n'est pas appliquée, la valeur null est retournée et les données d'entrée sont envoyées dans le flux principal.

Une entrée vide retourne une sortie vide

Lorsque cette case est cochée, les valeurs vides sont laissées inchangées dans les données en sortie. Sinon, les fonctions sélectionnées sont appliquées aux données d'entrée.

Send invalid data to "Invalid" output flow
Cette case est cochée par défaut.
  • Cochée : Lorsque les données peuvent être masquées, elles sont envoyées dans le flux principal. Sinon, les données sont envoyées dans le flux de sortie "Invalid".
  • Décochée : Les données sont envoyées dans le flux principal.
Les données sont considérées comme invalides lorsque :
  • le format du numéro de Sécurité Sociale, du numéro de téléphone ou de l'adresse e-mail est incorrect, quelle que soit la méthode Method utilisée ;
  • elles ne sont pas conformes aux méthodes FF1 with AES et FF1 with SHA-2.

Utilisation

Règle d'utilisation

Ce composant, ainsi que les composants Spark Streaming de la Palette à laquelle il appartient, s'affichent uniquement lorsque vous créez un Job Spark Streaming.

Ce composant est utilisé comme étape intermédiaire.

Vous devez utiliser l'onglet Spark Configuration dans la vue Run afin de définir la connexion à un cluster Spark donné pour le Job entier.

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Pour plus d'informations concernant les Jobs Spark Streaming Talend , consultez Prise en main d'un Job Streaming Spark.

Notez que, dans cette documentation, sauf mention contraire, un scénario présente uniquement des Jobs Standard, c'est-à-dire des Jobs Talend traditionnels d'intégration de données.

Connexion à Spark

Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (aperçu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser le tHDFSConfiguration.

  • Standalone mode : utilisez le composant de configuration correspondant au système de fichiers que votre cluster utilise, comme le tHDFSConfiguration Apache Spark Batch ou le tS3Configuration Apache Spark Batch.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.