Le plug-in de source de traitement par lots Cloud Storage vous permet de lire les données des buckets Cloud Storage et de les importer dans Cloud Data Fusion pour un traitement et une transformation ultérieurs. Il vous permet de charger des données à partir de plusieurs fichiers , dont les suivants:
- Structuré: CSV, Avro, Parquet, ORC
- Semi-structuré : JSON, XML
- Autres: texte, binaire
Avant de commencer
Cloud Data Fusion dispose généralement de deux comptes de service:
- Compte de service au moment de la conception: Agent de service de l'API Cloud Data Fusion
- Compte de service d'exécution: Compte de service Compute Engine
Avant d'utiliser le plug-in de source de lot Cloud Storage, accordez le rôle ou les autorisations suivants à chaque compte de service.
Agent de service de l'API Cloud Data Fusion
Ce compte de service dispose déjà de toutes les autorisations requises, et vous n'avez pas besoin pour ajouter des autorisations.
Compte de service Compute Engine
Dans votre projet Google Cloud, attribuez les rôles ou autorisations IAM suivants au compte de service Compute Engine :
- Lecteur des anciens buckets Storage (
roles/storage.legacyBucketReader
) Ce le rôle prédéfini contient l'autorisationstorage.buckets.get
requise. Lecteur des objets Storage (
roles/storage.legacyBucketReader
). Ce contient les autorisations requises suivantes:storage.objects.get
storage.objects.list
Configurer le plug-in
- Accéder à l'interface Web de Cloud Data Fusion puis cliquez sur Studio.
- Vérifiez que l'option Data Pipeline – Batch (Pipeline de données – Lot) est sélectionnée (et non Realtime).
- Dans le menu Source, cliquez sur GCS. Le nœud Cloud Storage apparaît dans votre pipeline.
- Pour configurer la source, accédez au nœud Cloud Storage et cliquez sur Propriétés :
Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez Propriétés :
- Saisissez un libellé pour le nœud Cloud Storage, par
Exemple :
Cloud Storage tables
. Saisissez les informations de connexion. Vous pouvez configurer une nouvelle connexion unique, ou d'une connexion existante réutilisable.
Nouvelle connexion
Pour ajouter une connexion unique à Cloud Storage, procédez comme suit : étapes:
- Laissez l'option Utiliser la connexion désactivée.
- Dans le champ ID du projet, conservez la valeur "auto-detect" (détection automatique).
Dans le champ Type de compte de service, conservez la valeur Fichier path et Service account file path (Chemin d'accès au fichier du compte de service) sur "auto-detect".
Connexion réutilisable
Pour réutiliser une connexion existante, procédez comme suit:
- Activez l'option Utiliser la connexion.
- Cliquez sur Parcourir les connexions.
Cliquez sur le nom de la connexion, par exemple, Paramètre Cloud Storage par défaut.
Facultatif: Si aucune connexion n'existe et que vous souhaitez créer un nouvelle connexion réutilisable, cliquez sur Ajouter une connexion et consultez les dans l'onglet Nouvelle connexion de cette page.
Dans le champ Nom de référence, saisissez un nom à utiliser pour la lignée (par exemple,
data-fusion-gcs-campaign
).Dans le champ Chemin d'accès, saisissez le chemin d'accès à lire, pour Exemple :
gs://BUCKET_PATH
.Dans le champ Format, sélectionnez l'un des formats de fichier suivants pour les données en cours de lecture:
- Avro
- blob (le format blob nécessite un schéma contenant un champ) un corps nommé de type bytes)
- csv
- délimité
- json
- parquet
- text (le format de texte nécessite un schéma contenant un champ nommé "body" de type chaîne)
- tsv
- Le nom de tout plug-in de format que vous avez déployé dans votre environnement
Facultatif: Pour tester la connectivité, cliquez sur Obtenir un schéma.
Facultatif : dans le champ Taille de l'échantillon, saisissez le nombre maximal de lignes à vérifier pour le type de données sélectionné (par exemple,
1000
).Facultatif: dans le champ Remplacer, saisissez les noms des colonnes et leurs types de données respectifs à ignorer.
Facultatif: saisissez des propriétés avancées, telles qu'une taille de fractionnement minimale ou un filtre de chemin d'expression régulière (voir Propriétés) ;
Facultatif: dans le champ Nom du bucket temporaire, saisissez un nom. pour le bucket Cloud Storage.
- Saisissez un libellé pour le nœud Cloud Storage, par
Exemple :
Facultatif: cliquez sur Valider et corrigez les erreurs détectées.
Cliquez sur Fermer. Les propriétés sont enregistrées, et vous pouvez continuer à créer dans Cloud Data Fusion Studio.
Propriétés
Propriété | Macro activée | Propriété obligatoire | Description |
---|---|---|---|
Label | Non | Oui | Nom du nœud de votre pipeline de données. |
Utiliser la connexion | Non | Non | Recherchez une connexion réutilisable à la source. Pour en savoir plus sur l'ajout, l'importation et la modification des connexions qui s'affichent lorsque vous les parcourez, consultez Gérer les connexions. |
Connexion | Oui | Oui | Si l'option Utiliser la connexion est activée, le nom de la la connexion réutilisable que vous sélectionnez s'affiche dans ce champ. |
ID du projet | Oui | Non | Utilisé uniquement lorsque l'option Utiliser la connexion est désactivée. A mondial
identifiant unique pour le projet. La valeur par défaut est auto-detect . |
Type de compte de service | Oui | Non | Sélectionnez l'une des options suivantes:
|
Chemin d'accès au fichier du compte de service | Oui | Non | Utilisé uniquement lorsque la valeur du type de compte de service est File
chemin. Chemin d'accès au système de fichiers local de la clé du compte de service
utilisée pour l'autorisation. Si les tâches s'exécutent sur des clusters Dataproc, définissez la valeur sur "détection automatique". Si les jobs s'exécutent sur d'autres types de clusters,
doit être présent sur chaque nœud du cluster. La valeur par défaut est auto-detect |
JSON du compte de service | Oui | Non | Utilisé uniquement lorsque la valeur du champ "Type de compte de service" est JSON. Contenu du fichier JSON du compte de service. |
Nom de référence | Non | Oui | Nom qui identifie de manière unique cette source pour d'autres services, tels que la traçabilité et l'annotation des métadonnées. |
Chemin d'accès | Oui | Oui | Chemin d'accès aux fichiers à lire. Si un répertoire est spécifié, arrêtez la
chemin d'accès à l'aide d'une barre oblique inverse (/ ). Par exemple :
gs://bucket/path/to/directory/ Pour correspondre à un modèle
de nom de fichier,
vous pouvez utiliser un astérisque (* ) comme caractère générique. Si aucun fichier n'est
trouvé ou mis en correspondance, le pipeline échoue. |
Format | Non | Oui | Format des données à lire. Le format doit être l'un des suivants:
|
Taille d'échantillon | Oui | Non | Nombre maximal de lignes faisant l'objet d'un examen pour détecter les données automatiques la détection de type. La valeur par défaut est 1000. |
Forcer | Oui | Non | Une liste de colonnes avec les données correspondantes à partir desquelles la sélection automatique la détection du type de données est ignorée. |
Séparateur | Oui | Non | Délimiteur à utiliser lorsque le format est délimité. Ce est ignorée pour les autres formats. |
Activer les valeurs entre guillemets | Oui | Non | Indique s'il faut traiter le contenu entre guillemets comme une valeur. Cette propriété est
utilisé uniquement pour les fichiers csv, tsv ou
délimités. Par exemple, si cette propriété est définie sur
true, la sortie suivante génère deux champs: 1, "a, b, c" .
La valeur du premier champ est 1 . Le deuxième contient
a, b, c Les guillemets sont tronqués. Le délimiteur de retour à la ligne ne peut pas être placé entre guillemets.Le plug-in suppose que les guillemets sont correctement délimités (par exemple, "a, b, c" Causes de non-fermeture d'un devis ("a,b,c, )
une erreur.La valeur par défaut est False. |
Utiliser la première ligne comme en-tête | Oui | Non | Indique si la première ligne de chaque fichier doit être utilisée comme en-tête de colonne. Les formats acceptés sont text, csv,
tsv et délimités.La valeur par défaut de est Faux. |
Taille de fractionnement minimale | Oui | Non | Taille minimale, en octets, pour chaque partition d'entrée. Partitions plus petites
augmenter le niveau de parallélisme, mais nécessiter
plus de ressources et de frais généraux.
Si la valeur Format est blob , vous ne pouvez pas diviser les données. |
Taille de fractionnement maximale | Oui | Non | Taille maximale, en octets, pour chaque partition d'entrée. Partitions plus petites
augmenter le niveau de parallélisme, mais nécessiter
plus de ressources et de frais généraux.
Si la valeur Format est blob , vous ne pouvez pas diviser les données.La valeur par défaut est 128 Mo. |
Filtre de chemin d'expression régulière | Oui | Non | Expression régulière à laquelle les chemins d'accès aux fichiers doivent correspondre pour être incluse dans saisie. Le chemin d'accès complet est comparé, et non seulement le nom du fichier. Si aucun fichier n'est aucun filtrage de fichiers n'est effectué. Pour en savoir plus sur la configuration d'expression, consultez Schéma : |
Champ "Chemin d'accès" | Oui | Non | Champ de sortie permettant de placer le chemin d'accès au fichier dans lequel l'enregistrement a été lu S'il n'est pas spécifié, le chemin d'accès n'est pas inclus dans les enregistrements de sortie. Si spécifié, le champ doit exister dans le schéma de sortie sous forme de chaîne. |
Nom du chemin d'accès uniquement | Oui | Non | Si une propriété de champ de chemin d'accès est définie, n'utilisez que le nom de fichier.
et non l'URI du chemin d'accès. La valeur par défaut est False. |
Lire les fichiers de manière récursive | Oui | Non | Indique si les fichiers doivent être lus de manière récursive à partir du chemin d'accès. La valeur par défaut est False. |
Autoriser les entrées vides | Oui | Non | Permet d'autoriser ou non un chemin d'entrée ne contenant aucune donnée. Si défini sur
False, le plug-in génère une erreur en l'absence de données
lire. Lorsque la valeur est True, aucune erreur n'est générée et aucune erreur n'est générée.
et les enregistrements
sont lus. La valeur par défaut est False. |
Fichier de données chiffré | Oui | Non | Si les fichiers sont chiffrés. Pour en savoir plus, consultez
Chiffrement des fichiers de données. La valeur par défaut est False. |
Suffixe du fichier de métadonnées de chiffrement | Oui | Non | Suffixe du nom du fichier de métadonnées de chiffrement.La valeur par défaut de est métadonnées. |
Propriétés du système de fichiers | Oui | Non | Propriétés supplémentaires à utiliser avec InputFormat lors de la lecture de la données. |
Encodage de fichier | Oui | Non | Encodage des caractères des fichiers à lire. La valeur par défaut est UTF-8. |
Schéma de sortie | Oui | Non | Si une propriété de champ de chemin d'accès est définie, elle doit être présente dans le schéma sous forme de chaîne. |
Chiffrement des fichiers de données
Cette section décrit la propriété Chiffrement des fichiers de données. Si vous le définissez sur true, les fichiers sont déchiffrés à l'aide du streaming AEAD fourni par la bibliothèque Tink. Chaque fichier de données
doit être accompagné d'un fichier de métadonnées contenant l'algorithme de chiffrement ;
des informations. Par exemple, un fichier de données chiffré situé dans gs://BUCKET/PATH_TO_DIRECTORY/file1.csv.enc
doit disposer d'un fichier de métadonnées situé dans gs://BUCKET/
PATH_TO_DIRECTORY/file1.csv.enc.metadata
. Fichier de métadonnées
contient un objet JSON avec les propriétés suivantes:
Propriété | Description |
---|---|
kms |
URI Cloud Key Management Service utilisé pour chiffrer le chiffrement des données Clé. |
aad |
Données authentifiées supplémentaires encodées en base64 utilisées lors du chiffrement. |
key set |
Objet JSON représentant les informations sérialisées de la collection de clés de la bibliothèque Tink. |
Exemple
/* Counting example */ { "kms": "gcp-kms://projects/my-key-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/mykey", "aad": "73iT4SUJBM24umXecCCf3A==", "keyset": { "keysetInfo": { "primaryKeyId": 602257784, "keyInfo": [{ "typeUrl": "type.googleapis.com/google.crypto.tink.AesGcmHkdfStreamingKey", "outputPrefixType": "RAW", "keyId": 602257784, "status": "ENABLED" }] }, "encryptedKeyset": "CiQAz5HH+nUA0Zuqnz4LCnBEVTHS72s/zwjpcnAMIPGpW6kxLggSrAEAcJKHmXeg8kfJ3GD4GuFeWDZzgGn3tfolk6Yf5d7rxKxDEChIMWJWGhWlDHbBW5B9HqWfKx2nQWSC+zjM8FLefVtPYrdJ8n6Eg8ksAnSyXmhN5LoIj6az3XBugtXvCCotQHrBuyoDY+j5ZH9J4tm/bzrLEjCdWAc+oAlhsUAV77jZhowJr6EBiyVuRVfcwLwiscWkQ9J7jjHc7ih9HKfnqAZmQ6iWP36OMrEn" } }
Notes de version
Étape suivante
- Apprenez-en plus sur les plug-ins dans Cloud Data Fusion.