Il plug-in dell'origine batch di Cloud Storage consente di leggere i dati nei bucket Cloud Storage e trasferirli in Cloud Data Fusion per ulteriori elaborazioni e trasformazioni. Consente di caricare dati da più file formati, tra cui:
- Strutturato: CSV, Avro, Parquet, ORC
- Semistrutturato: JSON, XML
- Altri: testo, binario
Prima di iniziare
In genere Cloud Data Fusion ha due account di servizio:
- Account di servizio in fase di progettazione: Agente di servizio API Cloud Data Fusion
- Service account di esecuzione: Account di servizio Compute Engine
Prima di utilizzare il plug-in dell'origine batch di Cloud Storage, concedi la classe i seguenti ruoli o autorizzazioni per ciascun account di servizio.
Cloud Data Fusion API Service Agent
Questo account di servizio dispone già di tutte le autorizzazioni richieste e non è necessario aggiungere altre autorizzazioni.
Account di servizio Compute Engine
Nel tuo progetto Google Cloud, concedi i seguenti ruoli IAM oppure le autorizzazioni per l'account di servizio Compute Engine:
- Storage Legacy Bucket Reader (
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 richieste: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 sia selezionata l'opzione Pipeline di dati - Batch (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, vedi Proprietà:
- Inserisci un'etichetta per il nodo Cloud Storage, ad esempio
ad esempio
Cloud Storage tables
. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione esistente riutilizzabile.
Nuova connessione
Per aggiungere una connessione una tantum a Cloud Storage, segui questi passaggi passaggi:
- Mantieni disattivata l'opzione Usa connessione.
- Nel campo Project ID (ID progetto), lascia il valore su rilevamento automatico.
Nel campo Tipo di account di servizio, lascia il valore Percorso file e Percorso file account di servizio come rilevamento automatico.
Connessione riutilizzabile
Per riutilizzare una connessione esistente:
- Attiva l'opzione Usa connessione.
- Fai clic su Browse connections (Sfoglia connessioni).
Fai clic sul nome della connessione, ad esempio Predefinito Cloud Storage.
Facoltativo: se non esiste una connessione e vuoi creare una nuova connessione riutilizzabile, fai clic su Aggiungi connessione e consulta le i passaggi nella scheda Nuova connessione di questa pagina.
Nel campo Nome di riferimento, inserisci un nome da utilizzare per derivazione, ad esempio
data-fusion-gcs-campaign
.Nel campo Percorso, inserisci il percorso di lettura, per ad esempio
gs://BUCKET_PATH
.Nel campo Formato, seleziona uno dei seguenti formati file per i dati che vengono letti:
- avro
- blob (il formato blob richiede uno schema che contiene un campo corpo denominato di tipo byte)
- csv
- Delimitato
- json
- parquet
- text (il formato di testo richiede uno schema che contenga un campo) corpo denominato della stringa di tipo)
- 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 del campione, inserisci il numero massimo di righe da controllare per il tipo di dati selezionato, ad esempio
1000
.(Facoltativo) Nel campo Override, inserisci i nomi delle colonne e i relativi i rispettivi tipi di dati da saltare.
(Facoltativo) Inserisci Proprietà avanzate, come la dimensione minima della suddivisione oppure un filtro del percorso di espressioni regolari (vedi Proprietà).
(Facoltativo) Nel campo Nome del bucket temporaneo, inserisci un nome per il bucket Cloud Storage.
- Inserisci un'etichetta per il nodo Cloud Storage, ad esempio
ad esempio
(Facoltativo) Fai clic su Convalida e correggi gli eventuali errori rilevati.
Fai clic su Chiudi. Le proprietà vengono salvate e puoi continuare a creare 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 saperne di più su come aggiungere, importare e modificare le connessioni visualizzate quando le sfogli, consulta Gestire le connessioni. |
Connessione | Sì | Sì | Se l'opzione Utilizza connessione è attiva, in questo campo viene visualizzato il nome della connessione riutilizzabile selezionata. |
ID progetto | Sì | No | Utilizzato solo quando l'opzione Usa 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 | Viene utilizzato solo quando il valore del tipo di account di servizio è Percorso
del 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 su rilevamento automatico. Se i job vengono eseguiti su altri tipi di cluster,
deve essere presente su tutti i nodi del cluster. Il valore predefinito è auto-detect . |
JSON dell'account di servizio | Sì | No | Utilizzato solo quando il valore 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 la derivazione e l'annotazione dei metadati. |
Percorso | Sì | Sì | Percorso dei file da leggere. Se viene specificata una directory, termina il
percorso con una barra rovesciata (/ ). Ad esempio,
gs://bucket/path/to/directory/ . Per trovare una corrispondenza con un pattern di nome file,
puoi utilizzare un asterisco (* ) come carattere jolly. Se non vengono visualizzati file
trovata o corrispondente, la pipeline ha esito negativo. |
Formato | No | Sì | Formato dei dati da leggere. Il formato deve essere uno dei seguenti:
|
Dimensione del campione | Sì | No | Il numero massimo di righe esaminate per il rilevamento automatico del tipo di dati. Il valore predefinito è 1000. |
Sostituisci | Sì | No | Un elenco di colonne con i dati corrispondenti da cui il rilevamento del tipo di dati viene ignorato. |
Delimitatore | Sì | No | Delineatore da utilizzare quando il formato è delimitato. Questa proprietà viene ignorata per gli altri formati. |
Attiva valori tra virgolette | Sì | No | Indica se trattare come valore i contenuti tra virgolette. Questa proprietà viene
utilizzata solo per i formati csv, tsv o
delimitato. Ad esempio, se questa proprietà è impostata su
true, il seguente output restituisce due campi: 1, "a, b, c" .
Il primo campo ha 1 come valore. Il secondo ha
a, b, c . I caratteri delle virgolette vengono tagliati. La
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 virgola ("a,b,c, ) causa un errore.Il valore predefinito è False. |
Utilizza la prima riga per l'intestazione | Sì | No | Indica se utilizzare la prima riga di ogni file come colonna
intestazione. I formati supportati sono testo, csv e
tsv e delimitato.Il valore predefinito di è Falso. |
Dimensioni minime della suddivisione | Sì | No | Dimensioni minime, in byte, per ogni partizione di input. 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 della suddivisione | Sì | No | Dimensione massima, in byte, per ogni partizione di input. 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 specifica che i percorsi dei file devono corrispondere per essere inclusi nel di testo. Viene confrontato il percorso completo, non solo il nome file. Se non viene fornito alcun file, non viene applicato alcun filtro. Per ulteriori informazioni sulle la sintassi delle espressioni, consulta Sequenza. |
Campo del percorso | Sì | No | Campo di output in cui posizionare il percorso del file di cui è stato letto il record da cui proviene. 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 genera un errore quando non sono presenti dati da leggere. Se il valore è impostato su True, non viene generato alcun errore e il valore
vengono letti correttamente. Il valore predefinito è False. |
File di dati criptato | Sì | No | Indica se i file sono criptati. Per ulteriori informazioni, vedi
Crittografia dei file di dati. Il valore predefinito è False. |
Suffisso del file di metadati della crittografia | Sì | No | Il suffisso del nome file per il file di metadati della crittografia. Il valore predefinito è 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 dei 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
In questa sezione viene descritta la crittografia dei file di dati
proprietà. Se lo imposti su true, i file vengono decriptati
utilizzando l'AEAD in streaming fornito dalla
libreria Tink. Ogni file di dati
deve essere accompagnato da un file di metadati contenente la crittografia
informazioni. Ad esempio, un file di dati criptato su
gs://BUCKET/PATH_TO_DIRECTORY/file1.csv.enc
deve avere un file di metadati in gs://BUCKET/
PATH_TO_DIRECTORY/file1.csv.enc.metadata
. Il file dei metadati
contiene un oggetto JSON con le seguenti proprietà:
Proprietà | Descrizione |
---|---|
kms |
L'URI di Cloud Key Management Service utilizzato per criptare la crittografia dei dati Chiave. |
aad |
I dati autenticati aggiuntivi codificati in Base64 utilizzati nei la crittografia. |
key set |
Un 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.