Modello di file di Cloud Storage con decompressione in blocco

Il modello di file di Cloud Storage con decompressione in blocco è una pipeline batch che decomprime i file su Cloud Storage in una posizione specificata. Questa funzionalità è utile quando vuoi utilizzare dati compressi per ridurre al minimo i costi della larghezza di banda di rete durante una migrazione, ma vuoi massimizzare la velocità di elaborazione analitica operando sui dati non compressi dopo la migrazione. La pipeline gestisce automaticamente più modalità di compressione durante una singola esecuzione e determina la modalità di decompressione da utilizzare in base all'estensione del file (.bzip2, .deflate, .gz, .zip).

Requisiti della pipeline

  • I file da decomprimere devono essere in uno dei seguenti formati: Bzip2, Deflate, Gzip, Zip.
  • La directory di output deve esistere prima dell'esecuzione della pipeline.

Parametri del modello

Parametro Descrizione
inputFilePattern Il pattern del file di input da cui leggere. Ad esempio, gs://bucket-name/compressed/*.gz.
outputDirectory Il percorso di output in cui scrivere. Ad esempio, gs://bucket-name/decompressed.
outputFailureFile Il file di output del log degli errori da utilizzare per gli errori di scrittura che si verificano durante il processo di decompressione. Ad esempio, gs://bucket-name/decompressed/failed.csv. Se non si verificano errori, il file viene comunque creato, ma sarà vuoto. I contenuti del file sono in formato CSV (Nome file, Errore) e sono costituiti da una riga per ogni file che non supera la decompressione.

Esegui il modello

Console

  1. Vai alla pagina Crea job da modello di Dataflow.
  2. Vai a Crea job da modello
  3. Nel campo Nome job, inserisci un nome univoco per il job.
  4. (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. La regione predefinita è us-central1.

    Per un elenco di regioni in cui è possibile eseguire un job Dataflow, consulta Località di Dataflow.

  5. Dal menu a discesa Modello Dataflow, seleziona the Bulk Decompress Files on Cloud Storage template.
  6. Inserisci i valori parametro negli appositi campi.
  7. Fai clic su Esegui job.

gcloud

Nella shell o nel terminale, esegui il modello:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Bulk_Decompress_GCS_Files \
    --region REGION_NAME \
    --parameters \
inputFilePattern=gs://BUCKET_NAME/compressed/*.gz,\
outputDirectory=gs://BUCKET_NAME/decompressed,\
outputFailureFile=OUTPUT_FAILURE_FILE_PATH

Sostituisci quanto segue:

  • JOB_NAME: un nome job univoco a tua scelta
  • REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

    • latest per utilizzare la versione più recente del modello, disponibile nella cartella padre non con data del bucket: gs://dataflow-templates-REGION_NAME/latest/
    • il nome della versione, ad esempio 2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che è possibile trovare nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates-REGION_NAME/
  • BUCKET_NAME: il nome del tuo bucket Cloud Storage
  • OUTPUT_FAILURE_FILE_PATH: il percorso scelto per il file contenente le informazioni sull'errore

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni sull'API e sui relativi ambiti di autorizzazione, consulta projects.templates.launch.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Bulk_Decompress_GCS_Files
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://BUCKET_NAME/compressed/*.gz",
       "outputDirectory": "gs://BUCKET_NAME/decompressed",
       "outputFailureFile": "OUTPUT_FAILURE_FILE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco a tua scelta
  • LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

    • latest per utilizzare la versione più recente del modello, disponibile nella cartella padre non con data del bucket: gs://dataflow-templates-REGION_NAME/latest/
    • il nome della versione, ad esempio 2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che è possibile trovare nidificata nella rispettiva cartella principale con data nel bucket: gs://dataflow-templates-REGION_NAME/
  • BUCKET_NAME: il nome del tuo bucket Cloud Storage
  • OUTPUT_FAILURE_FILE_PATH: il percorso scelto per il file contenente le informazioni sull'errore

Passaggi successivi