Modello Parquet di Cloud Storage a Bigtable

Il modello Cloud Storage Parquet to Bigtable è una pipeline che legge i dati dai file Parquet in un bucket Cloud Storage e li scrive in una tabella Bigtable table. Puoi utilizzare il modello per copiare i dati da Cloud Storage a Bigtable.

Requisiti della pipeline

  • La tabella Bigtable deve esistere e avere le stesse famiglie di colonne esportate nei file Parquet.
  • Prima di eseguire la pipeline, i file Parquet di input devono esistere in un bucket Cloud Storage.
  • Bigtable si aspetta uno schema specifico schema dai file Parquet di input.

Parametri del modello

Parametri obbligatori

  • bigtableProjectId: l'ID progetto Google Cloud associato all'istanza Bigtable.
  • bigtableInstanceId: l'ID dell'istanza Cloud Bigtable che contiene la tabella.
  • bigtableTableId: l'ID della tabella Bigtable da importare.
  • inputFilePattern: il percorso Cloud Storage con i file che contengono i dati. Ad esempio, gs://your-bucket/your-files/*.parquet.

Parametri facoltativi

  • splitLargeRows: il flag per abilitare la suddivisione di righe di grandi dimensioni in più richieste MutateRows. Tieni presente che quando una riga di grandi dimensioni viene suddivisa tra più chiamate API, gli aggiornamenti alla riga non sono atomici.

Esegui il modello

Console

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

    Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.

  5. Dal menu a discesa Modello Dataflow, seleziona il modello File Parquet su Cloud Storage in Cloud Bigtable.
  6. Nei campi dei parametri forniti, inserisci i valori dei parametri.
  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/GCS_Parquet_to_Cloud_Bigtable \
    --region REGION_NAME \
    --parameters \
bigtableProjectId=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
inputFilePattern=INPUT_FILE_PATTERN

Sostituisci quanto segue:

  • JOB_NAME: un nome job univoco a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del Google Cloud progetto dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • INPUT_FILE_PATTERN: il pattern del percorso Cloud Storage in cui si trovano i dati, ad esempio gs://mybucket/somefolder/prefix*

API

Per eseguire il modello utilizzando l'API REST, invia una richiesta HTTP POST. Per saperne di più 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/GCS_Parquet_to_Cloud_Bigtable
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProjectId": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "inputFilePattern": "INPUT_FILE_PATTERN",
   },
   "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 a tua scelta
  • VERSION: la versione del modello che vuoi utilizzare

    Puoi utilizzare i seguenti valori:

  • LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempio us-central1
  • BIGTABLE_PROJECT_ID: l'ID del Google Cloud progetto dell'istanza Bigtable da cui vuoi leggere i dati
  • INSTANCE_ID: l'ID dell'istanza Bigtable che contiene la tabella
  • TABLE_ID: l'ID della tabella Bigtable da esportare
  • INPUT_FILE_PATTERN: il pattern del percorso Cloud Storage in cui si trovano i dati, ad esempio gs://mybucket/somefolder/prefix*

Passaggi successivi