Modello di esportazione di BigQuery in Parquet (tramite l'API Storage)

Il modello di esportazione di BigQuery in Parquet è una pipeline batch che legge i dati da una tabella BigQuery e lo scrive in un bucket Cloud Storage in formato Parquet. Questo modello utilizza l'API BigQuery Storage per esportare i dati.

Requisiti della pipeline

  • La tabella BigQuery di input deve esistere prima di eseguire la pipeline.
  • Il bucket Cloud Storage di output deve esistere prima di eseguire la pipeline.

Parametri del modello

Parametri obbligatori

  • tableRef : la posizione della tabella di input BigQuery. ad esempio tuo-progetto:tuo-set di dati.nome-tabella.
  • bucket : la cartella Cloud Storage in cui scrivere i file Parquet. ad esempio gs://your-bucket/export/.

Parametri facoltativi

  • numShards : il numero di shard del file di output. Il valore predefinito è 1.
  • fields : un elenco di campi separati da virgole da selezionare dalla tabella BigQuery di input.
  • rowRestriction : righe di sola lettura corrispondenti al filtro specificato, che deve essere un'espressione SQL compatibile con SQL standard di Google (https://cloud.google.com/bigquery/docs/reference/standard-sql). Se non viene specificato alcun valore, vengono restituite tutte le righe.

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 BigQuery export to Parquet (via Storage API) 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 flex-template run JOB_NAME \
    --project=PROJECT_ID \
    --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/BigQuery_to_Parquet \
    --region=REGION_NAME \
    --parameters \
tableRef=BIGQUERY_TABLE,\
bucket=OUTPUT_DIRECTORY,\
numShards=NUM_SHARDS,\
fields=FIELDS

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
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • REGION_NAME: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGQUERY_TABLE: il nome della tua tabella BigQuery
  • OUTPUT_DIRECTORY: la tua cartella Cloud Storage per i file di output
  • NUM_SHARDS: il numero desiderato di shard del file di output
  • FIELDS: l'elenco separato da virgole di campi da selezionare dalla tabella BigQuery di input

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/flexTemplates:launch
{
   "launch_parameter": {
      "jobName": "JOB_NAME",
      "parameters": {
          "tableRef": "BIGQUERY_TABLE",
          "bucket": "OUTPUT_DIRECTORY",
          "numShards": "NUM_SHARDS",
          "fields": "FIELDS"
      },
      "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/BigQuery_to_Parquet",
   }
}

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
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • LOCATION: la regione in cui vuoi di eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGQUERY_TABLE: il nome della tua tabella BigQuery
  • OUTPUT_DIRECTORY: la tua cartella Cloud Storage per i file di output
  • NUM_SHARDS: il numero desiderato di shard del file di output
  • FIELDS: l'elenco separato da virgole di campi da selezionare dalla tabella BigQuery di input

Passaggi successivi