Il plug-in dell'origine batch di Cloud Storage ti consente di leggere i dati dai bucket Cloud Storage e spostarli in Cloud Data Fusion per ulteriori elaborazioni e trasformazioni. Ti permette di caricare i dati da più formati di file, tra cui:
- Strutturato: CSV, Avro, Parquet, ORC
- Semistrutturato: JSON, XML
- Altri: testo, binario
Prima di iniziare
Cloud Data Fusion in genere dispone di due account di servizio:
- Account di servizio in fase di progettazione: Agente di servizio API Cloud Data Fusion
- Account di servizio in tempo di esecuzione: Account di servizio Compute Engine
Prima di utilizzare il plug-in dell'origine batch di Cloud Storage, concedi il ruolo o le autorizzazioni seguenti a ogni account di servizio.
Agente di servizio API Cloud Data Fusion
Questo account di servizio dispone già di tutte le autorizzazioni richieste e non è necessario aggiungerne altre.
Account di servizio Compute Engine
Nel tuo progetto Google Cloud, concedi i seguenti ruoli o autorizzazioni IAM all'account di servizio Compute Engine:
- Lettore bucket legacy Storage (
roles/storage.legacyBucketReader
). Questo ruolo predefinito contiene l'autorizzazionestorage.buckets.get
richiesta. Visualizzatore oggetti Storage (
roles/storage.legacyBucketReader
). Questo ruolo predefinito contiene le seguenti autorizzazioni obbligatorie:storage.objects.get
storage.objects.list
Configura il plug-in
- Vai all'interfaccia web di Cloud Data Fusion e fai clic su Studio.
- Verifica che l'opzione pipeline di dati - Batch sia selezionata (non In tempo reale).
- Nel menu Origine, fai clic su GCS. Il nodo Cloud Storage viene visualizzato nella pipeline.
- Per configurare l'origine, vai al nodo Cloud Storage e fai clic su Proprietà.
Inserisci le seguenti proprietà. Per un elenco completo, consulta Proprietà.
- Inserisci un'etichetta per il nodo Cloud Storage, ad esempio
Cloud Storage tables
. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione riutilizzabile esistente.
Nuova connessione
Per aggiungere una connessione una tantum a Cloud Storage, segui questi passaggi:
- Mantieni disattivata l'opzione Utilizza connessione.
- Nel campo ID progetto, lascia il valore impostato per il rilevamento automatico.
Nel campo Tipo di account di servizio, lascia il valore Percorso file e Percorso file account di servizio per il rilevamento automatico.
Connessione riutilizzabile
Per riutilizzare una connessione esistente, segui questi passaggi:
- Attiva Utilizza connessione.
- Fai clic su Browse connections (Sfoglia connessioni).
Fai clic sul nome della connessione, ad esempio Valore predefinito di Cloud Storage.
(Facoltativo) Se non esiste una connessione e vuoi creare una nuova connessione riutilizzabile, fai clic su Aggiungi connessione e fai riferimento ai passaggi nella scheda Nuova connessione di questa pagina.
Nel campo Nome riferimento, inserisci un nome da utilizzare per la derivazione, ad esempio
data-fusion-gcs-campaign
.Nel campo Percorso, inserisci il percorso da cui eseguire la lettura, ad esempio
gs://BUCKET_PATH
.Nel campo Formato, seleziona uno dei seguenti formati file per i dati che stai leggendo:
- avro
- blob (il formato BLOB richiede uno schema contenente un corpo di tipo byte da nome campo)
- csv
- delimitato
- json
- parquet
- text (il formato di testo richiede uno schema contenente un corpo denominato del campo di tipo stringa)
- tsv
- Il nome di qualsiasi plug-in di formato di cui hai eseguito il deployment nel tuo ambiente
(Facoltativo) Per verificare la connettività, fai clic su Ottieni schema.
(Facoltativo) Nel campo Dimensione campione, inserisci il numero massimo di righe da verificare per il tipo di dati selezionato, ad esempio
1000
.(Facoltativo) Nel campo Override, inserisci i nomi delle colonne e i rispettivi tipi di dati da saltare.
(Facoltativo) Inserisci Proprietà avanzate, ad esempio una dimensione di suddivisione minima o un filtro per il percorso di espressione regolare (consulta Proprietà).
(Facoltativo) Nel campo Nome bucket temporaneo, inserisci un nome per il bucket Cloud Storage.
- Inserisci un'etichetta per il nodo Cloud Storage, ad esempio
(Facoltativo) Fai clic su Convalida e risolvi gli eventuali errori trovati.
Fai clic su Chiudi. Le proprietà vengono salvate e puoi continuare a creare la tua pipeline di dati in Cloud Data Fusion Studio.
Proprietà
Proprietà | Macro attivata | Proprietà obbligatoria | Descrizione |
---|---|---|---|
Etichetta | No | Sì | Il nome del nodo nella pipeline di dati. |
Usa connessione | No | No | Cerca una connessione riutilizzabile all'origine. Per scoprire di più su come aggiungere, importare e modificare le connessioni visualizzate quando sfogli le connessioni, vedi Gestire le connessioni. |
Connessione | Sì | Sì | Se l'opzione Utilizza connessione è attivata, in questo campo viene visualizzato il nome della connessione riutilizzabile selezionata. |
ID progetto | Sì | No | Utilizzato solo quando l'opzione Utilizza connessione è disattivata. Un identificatore univoco globale per il progetto. Il valore predefinito è auto-detect . |
Tipo di account di servizio | Sì | No | Seleziona una delle seguenti opzioni:
|
Service account file path (Percorso del file dell'account di servizio) | Sì | No | Utilizzato solo quando il valore del tipo di account di servizio è Percorso file. Il percorso nel file system locale della chiave dell'account di servizio utilizzata per l'autorizzazione. Se i job vengono eseguiti su cluster Dataproc, imposta il valore sul rilevamento automatico. Se i job vengono eseguiti su altri tipi di cluster, il file deve essere presente su ogni nodo del cluster. Il valore predefinito è auto-detect . |
JSON dell'account di servizio | Sì | No | Utilizzato solo quando il valore del tipo di account di servizio è JSON. I contenuti del file JSON dell'account di servizio. |
Nome di riferimento | No | Sì | Nome che identifica in modo univoco questa origine per altri servizi, come derivazione e metadati di annotazione. |
Percorso | Sì | Sì | Percorso dei file da leggere. Se è specificata una directory, termina il percorso con una barra rovesciata (/ ). Ad esempio, gs://bucket/path/to/directory/ . Per trovare una corrispondenza con il pattern di un nome file, puoi utilizzare un asterisco (* ) come carattere jolly. Se non vengono trovati
file o se esistono corrispondenze, la pipeline si arresta. |
Formato | No | Sì | Formato dei dati da leggere. Il formato deve essere uno dei seguenti:
|
Dimensione di esempio | Sì | No | Il numero massimo di righe analizzate per il rilevamento automatico dei tipi di dati. Il valore predefinito è 1000. |
Override | Sì | No | Un elenco di colonne con i dati corrispondenti da cui viene ignorato il rilevamento automatico dei tipi di dati. |
Delimitatore | Sì | No | Delimitatore da utilizzare quando il formato è delimitato. Questa proprietà viene ignorata per gli altri formati. |
Abilita i valori tra virgolette | Sì | No | Indica se trattare i contenuti tra virgolette come un valore. Questa proprietà viene utilizzata solo per i formati csv, tsv o delimitato. Ad esempio, se questa proprietà è impostata su
true, quanto segue restituisce due campi: 1, "a, b, c" .
Il primo campo ha 1 come valore. Il secondo ha
a, b, c . Le virgolette vengono tagliate. Il delimitatore di nuova riga non può essere racchiuso tra virgolette.Il plug-in presuppone che le virgolette siano racchiuse correttamente, ad esempio "a, b, c" . La mancata chiusura di una citazione ("a,b,c, ) causa un errore.Il valore predefinito è False. |
Usa la prima riga per l'intestazione | Sì | No | Indica se utilizzare la prima riga di ogni file come intestazione di colonna. I formati supportati sono text, csv, tsv e delimitato. Il valore predefinito è Falso. |
Dimensione di suddivisione minima | Sì | No | Dimensioni minime, in byte, per ogni partizione di input. Le partizioni più piccole aumentano il livello di parallelismo, ma richiedono più risorse e overhead.
Se il valore Formato è blob , non puoi suddividere
i dati. |
Dimensione massima suddivisione | Sì | No | Dimensione massima, in byte, per ogni partizione di input. Le partizioni più piccole aumentano il livello di parallelismo, ma richiedono più risorse e overhead.
Se il valore Formato è blob , non puoi suddividere
i dati.Il valore predefinito è 128 MB. |
Filtro percorso regex | Sì | No | Espressione regolare che indica che i percorsi dei file devono corrispondere per essere inclusi nell'input. Viene confrontato il percorso completo, non solo il nome file. Se non viene fornito alcun file, non viene applicato alcun filtro. Per maggiori informazioni sulla sintassi delle espressioni regolari, consulta Pattern. |
Campo percorso | Sì | No | Campo di output per posizionare il percorso del file da cui è stato letto il record. Se non specificato, il percorso non è incluso nei record di output. Se specificato, il campo deve esistere nello schema di output come stringa. |
Solo nome file del percorso | Sì | No | Se è impostata una proprietà Campo Percorso, utilizza solo il nome file e non l'URI del percorso. Il valore predefinito è False. |
Leggere i file in modo ricorsivo | Sì | No | Indica se i file devono essere letti in modo ricorsivo dal percorso. Il valore predefinito è False. |
Consenti input vuoto | Sì | No | Indica se consentire un percorso di input che non contiene dati. Se impostato su False, il plug-in restituisce un errore se non ci sono dati da leggere. Se impostato su True, non viene generato alcun errore e vengono letti zero record. Il valore predefinito è False. |
File di dati criptato | Sì | No | Se i file sono criptati. Per maggiori informazioni, consulta
Crittografia dei file di dati. Il valore predefinito è False. |
Suffisso del file dei metadati della crittografia | Sì | No | Il suffisso del nome file per il file di metadati di crittografia. L'impostazione predefinita è metadata. |
Proprietà del file system | Sì | No | Proprietà aggiuntive da utilizzare con InputFormat durante la lettura dei dati. |
Codifica file | Sì | No | La codifica dei caratteri per i file da leggere. Il valore predefinito è UTF-8. |
Schema di output | Sì | No | Se è impostata una proprietà Campo percorso, deve essere presente nello schema come stringa. |
Crittografia dei file di dati
Questa sezione descrive la proprietà Crittografia dei file di dati. Se lo imposti su true, i file vengono decriptati
utilizzando lo streaming AEAD fornito dalla
libreria Tink. Ogni file di dati deve essere accompagnato da un file di metadati contenente le informazioni sulla crittografia. Ad esempio, un file di dati criptato all'indirizzo gs://BUCKET/PATH_TO_DIRECTORY/file1.csv.enc
deve avere un file di metadati all'indirizzo gs://BUCKET/
PATH_TO_DIRECTORY/file1.csv.enc.metadata
. Il file di metadati contiene un oggetto JSON con le seguenti proprietà:
Proprietà | Descrizione |
---|---|
kms |
L'URI Cloud Key Management Service utilizzato per criptare la chiave di crittografia dei dati. |
aad |
Dati autenticati aggiuntivi codificati in Base64 utilizzati nella crittografia. |
key set |
Oggetto JSON che rappresenta le informazioni del set di chiavi serializzate dalla libreria Tink. |
Esempio
/* 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" } }
Note di rilascio
Passaggi successivi
- Scopri di più sui plug-in in Cloud Data Fusion.