Modello SequenceFile da Bigtable a Cloud Storage

Il modello SequenceFile da Bigtable a Cloud Storage è una pipeline che legge i dati da una tabella Bigtable e li scrive in un bucket Cloud Storage in formato SequenceFile. Puoi utilizzare il modello per copiare i dati da Bigtable in Cloud Storage.

Requisiti della pipeline

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

Parametri del modello

Parametri obbligatori

  • bigtableProject : l'ID del progetto Google Cloud che contiene l'istanza Bigtable da cui vuoi leggere i dati.
  • bigtableInstanceId : l'ID dell'istanza Bigtable che contiene la tabella.
  • bigtableTableId : l'ID della tabella Bigtable da esportare.
  • destinationPath : il percorso Cloud Storage in cui vengono scritti i dati. (Esempio: gs://your-bucket/your-path/).
  • filenamePrefix : il prefisso del nome file SequenceFile. (Esempio: output-).

Parametri facoltativi

  • bigtableAppProfileId : l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione. Se non specifichi un profilo app, Bigtable utilizza il profilo dell'app predefinito dell'istanza: https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile.
  • bigtableStartRow : la riga da cui iniziare l'esportazione; per impostazione predefinita, è la prima riga.
  • bigtableStopRow : la riga in cui interrompere l'esportazione; per impostazione predefinita, è l'ultima riga.
  • bigtableMaxVersions : numero massimo di versioni di celle. Il valore predefinito è 2147483647.
  • bigtableFilter : stringa del filtro. Visita la pagina http://hbase.apache.org/book.html#thrift. Il valore predefinito è vuoto.

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 delle regioni in cui puoi eseguire un job Dataflow, vedi Località Dataflow.

  5. Nel menu a discesa Modello Dataflow, seleziona the Cloud Bigtable to SequenceFile Files on Cloud Storage template .
  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/Cloud_Bigtable_to_GCS_SequenceFile \
    --region REGION_NAME \
    --parameters \
bigtableProject=BIGTABLE_PROJECT_ID,\
bigtableInstanceId=INSTANCE_ID,\
bigtableTableId=TABLE_ID,\
bigtableAppProfileId=APPLICATION_PROFILE_ID,\
destinationPath=DESTINATION_PATH,\
filenamePrefix=FILENAME_PREFIX

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 progetto Google Cloud 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
  • APPLICATION_PROFILE_ID: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione
  • DESTINATION_PATH: il percorso di Cloud Storage in cui vengono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file SequenceFile, ad esempio output-

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/Cloud_Bigtable_to_GCS_SequenceFile
{
   "jobName": "JOB_NAME",
   "parameters": {
       "bigtableProject": "BIGTABLE_PROJECT_ID",
       "bigtableInstanceId": "INSTANCE_ID",
       "bigtableTableId": "TABLE_ID",
       "bigtableAppProfileId": "APPLICATION_PROFILE_ID",
       "destinationPath": "DESTINATION_PATH",
       "filenamePrefix": "FILENAME_PREFIX",
   },
   "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
  • 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 progetto Google Cloud 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
  • APPLICATION_PROFILE_ID: l'ID del profilo dell'applicazione Bigtable da utilizzare per l'esportazione
  • DESTINATION_PATH: il percorso di Cloud Storage in cui vengono scritti i dati, ad esempio gs://mybucket/somefolder
  • FILENAME_PREFIX: il prefisso del nome file SequenceFile, ad esempio output-

Passaggi successivi