Modello di file di Cloud Storage con decompressione in blocco

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

Requisiti della pipeline

  • I file da decomprimere devono essere in uno dei seguenti formati: Bzip2, Deflate, Gzip e 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 la decompressione e il processo di sviluppo. Ad esempio, gs://bucket-name/decompressed/failed.csv. Se non sono presenti errori, il file viene ancora creato, ma sarà vuoto. I contenuti dei file sono in formato CSV. (Nome file, Errore) ed è composto da una riga per ogni file che non riesce a decomprimere.

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. Il valore predefinito è 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 di tua scelta
  • REGION_NAME: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • BUCKET_NAME: il nome di Cloud Storage del bucket rimanente
  • OUTPUT_FAILURE_FILE_PATH: il percorso del file che hai scelto contenente informazioni sugli errori

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per ulteriori informazioni sul API e i 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 progetto Google Cloud in cui vuoi eseguire il job Dataflow
  • JOB_NAME: un nome job univoco di tua scelta
  • LOCATION: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • BUCKET_NAME: il nome di Cloud Storage del bucket rimanente
  • OUTPUT_FAILURE_FILE_PATH: il percorso del file che hai scelto contenente informazioni sugli errori

Passaggi successivi