Modelos em lote fornecidos pelo Google

O Google fornece um conjunto de modelos de código aberto do Cloud Dataflow. Para informações gerais sobre modelos, consulte a página Visão geral. Para uma lista de todos os modelos fornecidos pelo Google, consulte esta página.

Nesta página, você verá documentações sobre modelos em lote:

Cloud Bigtable para Cloud Storage Avro

O modelo Cloud Bigtable para modelo Avro do Cloud Storage é um pipeline que lê dados de uma tabela do Cloud Bigtable e os grava em um intervalo do Cloud Storage no formato Avro. Use o modelo para mover dados do Cloud Bigtable para o Cloud Storage.

Requisitos para esse pipeline:

  • A tabela do Cloud Bigtable precisa existir.
  • O intervalo de saída do Cloud Storage precisa existir antes da execução do pipeline.

Parâmetros do modelo

Parâmetro Descrição
bigtableProjectId O código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
bigtableInstanceId O código da instância do Cloud Bigtable que contém a tabela.
bigtableTableId O código da tabela do Cloud Bigtable a ser exportada.
outputDirectory Caminho do Cloud Storage em que os dados são gravados. Por exemplo, gs://mybucket/somefolder.
filenamePrefix O prefixo do nome do arquivo Avro. Por exemplo, output-.

Como executar o modelo Cloud Bigtable para arquivo Avro do Cloud Storage

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [OUTPUT_DIRECTORY] pelo caminho do Cloud Storage em que os dados serão gravados. Por exemplo, gs://mybucket/somefolder.
  • Substitua [FILENAME_PREFIX] pelo prefixo do nome do arquivo Avro. Por exemplo, output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/ \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],outputDirectory=[OUTPUT_DIRECTORY],filenamePrefix=[FILENAME_PREFIX]

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [OUTPUT_DIRECTORY] pelo caminho do Cloud Storage em que os dados serão gravados. Por exemplo, gs://mybucket/somefolder.
  • Substitua [FILENAME_PREFIX] pelo prefixo do nome do arquivo Avro. Por exemplo, output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "outputDirectory": "[OUTPUT_DIRECTORY]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Bigtable para Cloud Storage SequenceFile

O modelo do Cloud Bigtable para SequenceFile do Cloud Storage é um pipeline que lê dados de uma tabela do Cloud Bigtable e os grava em um intervalo do Cloud Storage no formato SequenceFile. Use o modelo para copiar dados do Cloud Bigtable para o Cloud Storage.

Requisitos para esse pipeline:

  • A tabela do Cloud Bigtable precisa existir.
  • O intervalo de saída do Cloud Storage precisa existir antes da execução do pipeline.

Parâmetros do modelo

Parâmetro Descrição
bigtableProject O código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
bigtableInstanceId O código da instância do Cloud Bigtable que contém a tabela.
bigtableTableId O código da tabela do Cloud Bigtable a ser exportada.
bigtableAppProfileId O código do perfil do aplicativo Cloud Bigtable a ser usado para a exportação. O Cloud Bigtable usará o perfil padrão de aplicativo da instância se você não especificar um.
destinationPath Caminho do Cloud Storage em que os dados são gravados. Por exemplo, gs://mybucket/somefolder.
filenamePrefix O prefixo do nome de arquivo do SequenceFile. Por exemplo, output-.

Como executar o modelo Cloud Bigtable para Cloud Storage SequenceFile

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [APPLICATION_PROFILE_ID] pelo código do perfil do aplicativo Cloud Bigtable a ser usado para a exportação.
  • Substitua [DESTINATION_PATH] pelo caminho do Cloud Storage em que os dados são gravados. Por exemplo, gs://mybucket/somefolder.
  • Substitua [FILENAME_PREFIX] pelo prefixo do nome de arquivo do SequenceFile. Por exemplo, output-.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/ \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],destinationPath=[DESTINATION_PATH],filenamePrefix=[FILENAME_PREFIX]

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [APPLICATION_PROFILE_ID] pelo código do perfil do aplicativo Cloud Bigtable a ser usado para a exportação.
  • Substitua [DESTINATION_PATH] pelo caminho do Cloud Storage em que os dados são gravados. Por exemplo, gs://mybucket/somefolder.
  • Substitua [FILENAME_PREFIX] pelo prefixo do nome de arquivo do SequenceFile. Por exemplo, output-.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "destinationPath": "[DESTINATION_PATH]",
       "filenamePrefix": "[FILENAME_PREFIX]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Datastore para Cloud Storage Text

O modelo Cloud Datastore para Cloud Storage Text é um pipeline em lote que lê entidades do Cloud Datastore e as grava no Cloud Storage como arquivos de texto. É possível fornecer uma função para processar cada entidade como uma string JSON. Se essa função não for fornecida, cada linha do arquivo de saída será uma entidade serializada em JSON.

Requisitos para esse pipeline:

O Cloud Datastore precisa ser configurado no projeto antes da execução.

Parâmetros do modelo

Parâmetro Descrição
datastoreReadGqlQuery Uma consulta GQL que especifica quais entidades serão capturadas. Por exemplo, SELECT * FROM MyKind.
datastoreReadProjectId O código do projeto do GCP referente à instância do Cloud Datastore em que você quer ler dados.
datastoreReadNamespace O namespace das entidades solicitadas. Para usar o namespace padrão, deixe esse parâmetro em branco.
javascriptTextTransformGcsPath Um caminho do Cloud Storage que contém todo o código do JavaScript. Por exemplo, gs://mybucket/mytransforms/*.js. Se não quiser fornecer uma função, deixe esse parâmetro em branco.
javascriptTextTransformFunctionName Nome da função JavaScript a ser chamada. Por exemplo, se a função do JavaScript for function myTransform(inJson) { ...dostuff...}, o nome da função será myTransform. Se não quiser fornecer uma função, deixe esse parâmetro em branco.
textWritePrefix O prefixo do caminho do Cloud Storage para especificar onde os dados devem ser gravados. Por exemplo, gs://mybucket/somefolder/.

Como executar o modelo do Cloud Datastore para Cloud Storage Text

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Datastore to Cloud Storage Text template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_BUCKET_NAME pelo nome do intervalo no Cloud Storage.
  • Substitua YOUR_DATASTORE_KIND pelo tipo das entidades do Datastore.
  • Substitua YOUR_DATASTORE_NAMESPACE pelo namespace das entidades do Datastore.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da função do JavaScript.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Datastore_to_GCS_Text \
    --parameters \
datastoreReadGqlQuery="SELECT * FROM YOUR_DATASTORE_KIND",\
datastoreReadProjectId=YOUR_PROJECT_ID,\
datastoreReadNamespace=YOUR_DATASTORE_NAMESPACE,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Datastore_to_GCS_Text

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_BUCKET_NAME pelo nome do intervalo no Cloud Storage.
  • Substitua YOUR_DATASTORE_KIND pelo tipo das entidades do Datastore.
  • Substitua YOUR_DATASTORE_NAMESPACE pelo namespace das entidades do Datastore.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da função do JavaScript.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Datastore_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "datastoreReadGqlQuery": "SELECT * FROM YOUR_DATASTORE_KIND"
       "datastoreReadProjectId": "YOUR_PROJECT_ID",
       "datastoreReadNamespace": "YOUR_DATASTORE_NAMESPACE",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Spanner para Cloud Storage Avro

O modelo Cloud Spanner para Cloud Storage é um pipeline em lote que exporta todo o banco de dados do Cloud Spanner para o Cloud Storage no formato Avro. A exportação de um banco de dados do Cloud Spanner cria uma pasta no intervalo selecionado. Essa pasta contém:

  • um arquivo spanner-export.json;
  • um arquivo TableName-manifest.json para cada tabela no banco de dados exportado;
  • um ou mais arquivos TableName.avro-#####-of-#####.

Por exemplo, a exportação de um banco de dados com duas tabelas, Singers e Albums, cria o seguinte conjunto de arquivos:

  • Albums-manifest.json
  • Albums.avro-00000-of-00002
  • Albums.avro-00001-of-00002
  • Singers-manifest.json
  • Singers.avro-00000-of-00003
  • Singers.avro-00001-of-00003
  • Singers.avro-00002-of-00003
  • spanner-export.json

Requisitos para esse pipeline:

  • O banco de dados do Cloud Spanner precisa existir.
  • O intervalo de saída do Cloud Storage precisa existir.
  • Além dos papéis do Cloud IAM necessários para executar jobs do Cloud Dataflow, você também precisa ter os papéis apropriados do Cloud IAM para ler dados do Cloud Spanner e gravá-los no intervalo do Cloud Storage.

Parâmetros do modelo

Parâmetro Descrição
instanceId O código da instância referente ao banco de dados do Cloud Spanner que você quer exportar.
databaseId O código do banco de dados referente ao banco de dados do Cloud Spanner que você quer exportar.
outputDir O caminho do Cloud Storage em que você quer exportar arquivos Avro. O job de exportação cria um novo diretório nesse caminho contendo os arquivos exportados.

Como executar o modelo

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Spanner to Cloud Storage Avro template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar esse modelo, é necessário indicar o caminho no Cloud Storage para ele:

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [DATAFLOW_REGION] pela região em que você quer que o job do Cloud Dataflow seja executado (como us-central1).
  • Substitua [YOUR_INSTANCE_ID] pelo ID da instância do Cloud Spanner.
  • Substitua [YOUR_DATABASE_ID] pelo ID do banco de dados do Cloud Spanner.
  • Substitua [YOUR_GCS_DIRECTORY] pelo caminho do Cloud Storage para onde os arquivos Avro serão importados.
  • Substitua [JOB_NAME] por um nome de job de sua escolha.
    • O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
    • O nome do job precisa corresponder ao formato cloud-spanner-exportar-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para aparecer na parte do Cloud Spanner do Console do GCP.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],outputDir=[YOUR_GCS_DIRECTORY]

API

Executar da API REST

Ao executar esse modelo, é necessário indicar o caminho no Cloud Storage para ele:

gs://dataflow-templates/VERSION/Cloud_Spanner_to_GCS_Avro

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [DATAFLOW_REGION] pela região em que você quer que o job do Cloud Dataflow seja executado (como us-central1).
  • Substitua [YOUR_INSTANCE_ID] pelo ID da instância do Cloud Spanner.
  • Substitua [YOUR_DATABASE_ID] pelo ID do banco de dados do Cloud Spanner.
  • Substitua [YOUR_GCS_DIRECTORY] pelo caminho do Cloud Storage para onde os arquivos Avro serão importados.
  • Substitua [JOB_NAME] por um nome de job de sua escolha.
    • O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
    • O nome do job precisa corresponder ao formato cloud-spanner-exportar-[YOUR_INSTANCE_ID]-[YOUR_DATABASE_ID] para aparecer na parte do Cloud Spanner do Console do GCP.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/Cloud_Spanner_to_GCS_Avro
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "outputDir": "gs://[YOUR_GCS_DIRECTORY]"
   }
}

Cloud Spanner para Cloud Storage Text

O modelo Cloud Spanner para Cloud Storage Text é um pipeline em lote que lê dados de uma tabela do Cloud Spanner, transforma-os por meio de uma função definida pelo usuário (UDF, na sigla em inglês) do JavaScript e os grava no Cloud Storage como arquivos de texto CSV.

Requisitos para esse pipeline:

  • É necessário que a tabela de entrada do Cloud Spanner de entrada exista antes da execução do pipeline.

Parâmetros do modelo

Parâmetro Descrição
spannerProjectId O código do projeto do GCP relativo ao banco de dados do Cloud Spanner de que você quer ler os dados.
spannerDatabaseId Banco de dados da tabela solicitada.
spannerInstanceId Instância da tabela solicitada.
spannerTable Tabela para exportar.
textWritePrefix Diretório em que os arquivos de texto de saída serão gravados. Adicione / no final. Por exemplo: gs://mybucket/somefolder/.
javascriptTextTransformGcsPath [Opcional] Um caminho do Cloud Storage que contém todo o código do JavaScript. Por exemplo, gs://mybucket/mytransforms/*.js. Se não quiser fornecer uma função, deixe esse parâmetro em branco.
javascriptTextTransformFunctionName [Opcional] Nome da função do JavaScript a ser chamada. Por exemplo, se a função do JavaScript for function myTransform(inJson) { ...dostuff...}, o nome da função será myTransform. Se não quiser fornecer uma função, deixe esse parâmetro em branco.

Como executar o modelo Cloud Spanner para Cloud Storage Text

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Spanner to Cloud Storage Text template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_DATABASE_ID pelo código do banco de dados do Cloud Spanner.
  • Substitua YOUR_BUCKET_NAME pelo nome do intervalo no Cloud Storage.
  • Substitua YOUR_INSTANCE_ID pelo código da instância do Cloud Spanner.
  • Substitua YOUR_TABLE_ID pelo código da tabela do Cloud Spanner.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da função do JavaScript.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters \
spannerProjectId=YOUR_PROJECT_ID,\
spannerDatabaseId=YOUR_DATABASE_ID,\
spannerInstanceId=YOUR_INSTANCE_ID,\
spannerTable=YOUR_TABLE_ID,\
textWritePrefix=gs://YOUR_BUCKET_NAME/output/,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_DATABASE_ID pelo código do banco de dados do Cloud Spanner.
  • Substitua YOUR_BUCKET_NAME pelo nome do intervalo no Cloud Storage.
  • Substitua YOUR_INSTANCE_ID pelo código da instância do Cloud Spanner.
  • Substitua YOUR_TABLE_ID pelo código da tabela do Cloud Spanner.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da função do JavaScript.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "YOUR_PROJECT_ID",
       "spannerDatabaseId": "YOUR_DATABASE_ID",
       "spannerInstanceId": "YOUR_INSTANCE_ID",
       "spannerTable": "YOUR_TABLE_ID",
       "textWritePrefix": "gs://YOUR_BUCKET_NAME/output/",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Avro para Cloud Bigtable

O Cloud Storage Avro para modelo Cloud Bigtable é um pipeline que lê dados de arquivos Avro em um intervalo do Cloud Storage e os grava em uma tabela do Cloud Bigtable. É possível usar o modelo para copiar dados do Cloud Storage para Cloud Bigtable.

Requisitos para esse pipeline:

  • A tabela do Cloud Bigtable precisa existir e ter as mesmas famílias de colunas que foram exportadas nos arquivos Avro.
  • Os arquivos Avro de entrada precisam existir em um intervalo do Cloud Storage antes da execução do pipeline.
  • O Cloud Bigtable espera um esquema específico dos arquivos Avro de entrada.

Parâmetros do modelo

Parâmetro Descrição
bigtableProjectId O código do projeto do GCP referente à instância do Cloud Bigtable em que os dados são gravados.
bigtableInstanceId O código da instância do Cloud Bigtable que contém a tabela.
bigtableTableId O código da tabela do Cloud Bigtable a ser importada.
inputFilePattern O padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.

Como executar o modelo de arquivo Avro do Cloud Storage para Cloud Bigtable

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Spanner to Cloud Storage Text template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [INPUT_FILE_PATTERN] pelo padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/Spanner_to_GCS_Text \
    --parameters bigtableProjectId=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],inputFilePattern=[INPUT_FILE_PATTERN]

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Spanner_to_GCS_Text

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [INPUT_FILE_PATTERN] pelo padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/Spanner_to_GCS_Text
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProjectId": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "inputFilePattern": "[INPUT_FILE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Avro para Cloud Spanner

O modelo de arquivos Avro do Cloud Storage para Cloud Spanner é um pipeline em lote que lê arquivos Avro do Cloud Storage e os importa para um banco de dados do Cloud Spanner.

Requisitos para esse pipeline:

  • O banco de dados de destino do Cloud Spanner precisa existir e estar vazio.
  • Você precisa ter permissões de leitura para o intervalo do Cloud Storage e de gravação para o banco de dados de destino do Cloud Spanner.
  • O caminho de entrada do Cloud Storage precisa existir e incluir um arquivo spanner-export.json que contenha uma descrição em JSON dos arquivos a serem importados.

Parâmetros do modelo

Parâmetro Descrição
instanceId O código da instância referente ao banco de dados do Cloud Spanner.
databaseId O código do banco de dados referente ao banco de dados do Cloud Spanner.
inputDir O caminho do Cloud Storage do qual os arquivos Avro precisam ser importados.

Como executar o modelo

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Storage Avro to Cloud Spanner template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar esse modelo, é necessário indicar o caminho no Cloud Storage para ele:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [INPUT_FILE_PATTERN] pelo padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location='gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner' \
    --region=[DATAFLOW_REGION] \
    --parameters='instanceId=[YOUR_INSTANCE_ID],databaseId=[YOUR_DATABASE_ID],inputDir=[YOUR_GCS_DIRECTORY]

API

Executar da API REST

Ao executar esse modelo, é necessário indicar o caminho no Cloud Storage para ele:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [INPUT_FILE_PATTERN] pelo padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/locations/[DATAFLOW_REGION]/templates:launch?gcsPath=gs://dataflow-templates/[VERSION]/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "instanceId": "[YOUR_INSTANCE_ID]",
       "databaseId": "[YOUR_DATABASE_ID]",
       "inputDir": "gs://[YOUR_GCS_DIRECTORY]"
   },
   "environment": {
       "machineType": "n1-standard-2"
   }
}

Cloud Storage SequenceFile para Cloud Bigtable

O modelo do Cloud Storage SequenceFile para Cloud Bigtable é um pipeline que lê dados de SequenceFile em um intervalo do Cloud Storage e os grava em uma tabela do Cloud Bigtable. É possível usar o modelo para copiar dados do Cloud Storage para Cloud Bigtable.

Requisitos para esse pipeline:

  • A tabela do Cloud Bigtable precisa existir.
  • Os SequenceFiles de entrada precisam existir em um intervalo do Cloud Storage antes da execução do pipeline.
  • Os SequenceFiles de entrada precisam ter sido exportado do Cloud Bigtable ou do HBase.

Parâmetros do modelo

Parâmetro Descrição
bigtableProject O código do projeto do GCP referente à instância do Cloud Bigtable em que os dados são gravados.
bigtableInstanceId O código da instância do Cloud Bigtable que contém a tabela.
bigtableTableId O código da tabela do Cloud Bigtable a ser importada.
bigtableAppProfileId O código do perfil do aplicativo Cloud Bigtable a ser usado para a importação. O Cloud Bigtable usará o perfil padrão de aplicativo da instância se você não especificar um.
sourcePattern O padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.

Como executar o modelo Cloud Storage SequenceFile para Cloud Bigtable

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Storage Avro to Cloud Spanner template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [APPLICATION_PROFILE_ID] pelo código do perfil do aplicativo Cloud Bigtable a ser usado para a exportação.
  • Substitua [SOURCE_PATTERN] pelo padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.
gcloud dataflow jobs run [JOB_NAME] \
    --gcs-location gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Spanner \
    --parameters bigtableProject=[PROJECT_ID],bigtableInstanceId=[INSTANCE_ID],bigtableTableId=[TABLE_ID],bigtableAppProfileId=[APPLICATION_PROFILE_ID],sourcePattern=[SOURCE_PATTERN]

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Avro_to_Cloud_Spanner

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Use este exemplo de solicitação conforme documentado em Como usar a API REST. Essa solicitação requer autorização, e você precisa especificar um tempLocation em que tenha permissões de gravação. Substitua os valores a seguir neste exemplo:

  • Substitua [YOUR_PROJECT_ID] pelo código do projeto.
  • Substitua [JOB_NAME] por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua [PROJECT_ID] pelo código do projeto do GCP referente à instância do Cloud Bigtable em que você quer ler dados.
  • Substitua [INSTANCE_ID] pelo código da instância do Cloud Bigtable que contém a tabela.
  • Substitua [TABLE_ID] pelo código da tabela do Cloud Bigtable a ser exportada.
  • Substitua [APPLICATION_PROFILE_ID] pelo código do perfil do aplicativo Cloud Bigtable a ser usado para a exportação.
  • Substitua [SOURCE_PATTERN] pelo padrão de caminho do Cloud Storage em que os dados estão localizados. Por exemplo, gs://mybucket/somefolder/prefix*.
POST https://dataflow.googleapis.com/v1b3/projects/[YOUR_PROJECT_ID]/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Avro_to_Cloud_Spanner
{
   "jobName": "[JOB_NAME]",
   "parameters": {
       "bigtableProject": "[PROJECT_ID]",
       "bigtableInstanceId": "[INSTANCE_ID]",
       "bigtableTableId": "[TABLE_ID]",
       "bigtableAppProfileId": "[APPLICATION_PROFILE_ID]",
       "sourcePattern": "[SOURCE_PATTERN]",
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text para BigQuery

O pipeline do Cloud Storage Text para BigQuery é um pipeline em lote que permite ler arquivos de texto armazenados no Cloud Storage, transformá-los usando uma função definida pelo usuário (UDF, na sigla em inglês) do JavaScript fornecida por você e gerar o resultado no BigQuery.

IMPORTANTE: se você reutilizar uma tabela atual do BigQuery, ela será substituída.

Requisitos para esse pipeline:

  • Crie um arquivo JSON que descreva seu esquema do BigQuery.

    Certifique-se de que a matriz JSON de último nível “BigQuery Schema” e que o conteúdo dela sigam o padrão {“name”: ‘COLUMN NAME”, “type”:”DATA TYPE”}. Exemplo:

    {
      "BigQuery Schema": [
        {
          "name": "location",
          "type": "STRING"
        },
        {
          "name": "name",
          "type": "STRING"
        },
        {
          "name": "age",
          "type": "STRING"
        },
        {
          "name": "color",
          "type": "STRING"
        },
        {
          "name": "coffee",
          "type": "STRING"
        }
      ]
    }
    
  • Crie um arquivo JavaScript (.js) com a função UDF que fornece a lógica para transformar as linhas de texto. A função precisa retornar uma string JSON.

    Por exemplo, esta função divide cada linha de um arquivo CSV e retorna uma string JSON depois de transformar os valores.

    function transform(line) {
    var values = line.split(',');
    
    var obj = new Object();
    obj.location = values[0];
    obj.name = values[1];
    obj.age = values[2];
    obj.color = values[3];
    obj.coffee = values[4];
    var jsonString = JSON.stringify(obj);
    
    return jsonString;
    }
    

Parâmetros do modelo

Parâmetro Descrição
javascriptTextTransformFunctionName O nome da função que você quer chamar a partir do seu arquivo .js.
JSONPath O caminho gs:// para o arquivo JSON que define seu esquema do BigQuery, armazenado no Cloud Storage. Por exemplo, gs://path/to/my/schema.json.
javascriptTextTransformGcsPath O caminho gs:// para o arquivo JavaScript que define sua UDF. Por exemplo, gs://path/to/my/javascript_function.js.
inputFilePattern O caminho gs:// para o texto no Cloud Storage que você quer processar. Por exemplo, gs://path/to/my/text/data.txt.
outputTable O nome da tabela do BigQuery que você quer criar para armazenar seus dados processados. Se você reutilizar uma tabela existente do BigQuery, ela será substituída. Por exemplo, my-project-name:my-dataset.my-table.
bigQueryLoadingTemporaryDirectory Diretório temporário para o processo de carregamento do BigQuery. Por exemplo, gs://my-bucket/my-files/temp_dir.

Como executar o modelo Cloud Storage Text para BigQuery

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Storage Text to BigQuery template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da UDF.
  • Substitua PATH_TO_BIGQUERY_SCHEMA_JSON pelo caminho do Cloud Storage para o arquivo JSON que contém a definição do esquema.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
  • Substitua PATH_TO_YOUR_TEXT_DATA pelo caminho do Cloud Storage para o conjunto de dados de texto.
  • Substitua BIGQUERY_TABLE pelo nome da tabela do BigQuery.
  • Substitua PATH_TO_TEMP_DIR_ON_GCS pelo caminho do Cloud Storage para o diretório temporário.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_BigQuery \
    --parameters \
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
JSONPath=PATH_TO_BIGQUERY_SCHEMA_JSON,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
inputFilePattern=PATH_TO_YOUR_TEXT_DATA,\
outputTable=BIGQUERY_TABLE,\
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Text_to_BigQuery

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da UDF.
  • Substitua PATH_TO_BIGQUERY_SCHEMA_JSON pelo caminho do Cloud Storage para o arquivo JSON que contém a definição do esquema.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
  • Substitua PATH_TO_YOUR_TEXT_DATA pelo caminho do Cloud Storage para o conjunto de dados de texto.
  • Substitua BIGQUERY_TABLE pelo nome da tabela do BigQuery.
  • Substitua PATH_TO_TEMP_DIR_ON_GCS pelo caminho do Cloud Storage para o diretório temporário.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "JSONPath": "PATH_TO_BIGQUERY_SCHEMA_JSON",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "inputFilePattern":"PATH_TO_YOUR_TEXT_DATA",
       "outputTable":"BIGQUERY_TABLE",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text para Cloud Datastore

O modelo Cloud Storage Text para Cloud Datastore é um pipeline em lote que lê arquivos de texto armazenados no Cloud Storage e grava entidades codificadas em JSON no Cloud Datastore. Cada linha nos arquivos de texto de entrada deve estar no formato JSON especificado em https://cloud.google.com/datastore/docs/reference/rest/v1/Entity.

Requisitos para esse pipeline:

  • O Datastore precisa estar ativado no projeto de destino.

Parâmetros do modelo

Parâmetro Descrição
textReadPattern Um padrão de caminho de arquivo do Cloud Storage que especifica o local dos seus arquivos de dados de texto. Por exemplo, gs://mybucket/somepath/*.json.
javascriptTextTransformGcsPath Um caminho do Cloud Storage que contém todo o código do JavaScript. Por exemplo, gs://mybucket/mytransforms/*.js. Se não quiser fornecer uma função, deixe esse parâmetro em branco.
javascriptTextTransformFunctionName Nome da função JavaScript a ser chamada. Por exemplo, se a função do JavaScript for function myTransform(inJson) { ...dostuff...}, o nome da função será myTransform. Se não quiser fornecer uma função, deixe esse parâmetro em branco.
datastoreWriteProjectId O código do projeto do GCP em que gravar as entidades do Cloud Datastore.
errorWritePath O arquivo de saída do registro de erros a ser usado para falhas de gravação que ocorrem durante o processamento. Por exemplo, gs://bucket-name/errors.txt.

Como executar o modelo Cloud Storage Text para Datastore

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Storage Text to Datastore template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua PATH_TO_INPUT_TEXT_FILES pelo padrão de arquivos de entrada no Cloud Storage.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da função do JavaScript.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
  • Substitua ERROR_FILE_WRITE_PATH pelo caminho desejado para o arquivo de erros no Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Datastore \
    --parameters \
textReadPattern=PATH_TO_INPUT_TEXT_FILES,\
javascriptTextTransformGcsPath=PATH_TO_JAVASCRIPT_UDF_FILE,\
javascriptTextTransformFunctionName=YOUR_JAVASCRIPT_FUNCTION,\
datastoreWriteProjectId=YOUR_PROJECT_ID,\
errorWritePath=ERROR_FILE_WRITE_PATH

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Text_to_Datastore

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua PATH_TO_INPUT_TEXT_FILES pelo padrão de arquivos de entrada no Cloud Storage.
  • Substitua YOUR_JAVASCRIPT_FUNCTION pelo nome da função do JavaScript.
  • Substitua PATH_TO_JAVASCRIPT_UDF_FILE pelo caminho do Cloud Storage para o arquivo .js que contém o código do JavaScript.
  • Substitua ERROR_FILE_WRITE_PATH pelo caminho desejado para o arquivo de erros no Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Datastore
{
   "jobName": "JOB_NAME",
   "parameters": {
       "textReadPattern": "PATH_TO_INPUT_TEXT_FILES",
       "javascriptTextTransformGcsPath": "PATH_TO_JAVASCRIPT_UDF_FILE",
       "javascriptTextTransformFunctionName": "YOUR_JAVASCRIPT_FUNCTION",
       "datastoreWriteProjectId": "YOUR_PROJECT_ID",
       "errorWritePath": "ERROR_FILE_WRITE_PATH"
   },
   "environment": { "zone": "us-central1-f" }
}

Cloud Storage Text para Cloud Pub/Sub (lote)

Esse modelo cria um pipeline em lote que lê registros de arquivos de texto armazenados no Cloud Storage e os publica em um tópico do Cloud Pub/Sub. O modelo pode ser usado para publicar registros em um arquivo CSV ou um arquivo delimitado por nova linha que contenha registros JSON em um tópico do Cloud Pub/Sub para processamento em tempo real. Você pode usar esse modelo para reproduzir dados no Cloud Pub/Sub.

Observe que esse modelo não configura carimbos de data/hora nos registros individuais, assim o horário do evento será igual ao da publicação durante a execução. Se o processamento do pipeline depender de um tempo de evento preciso, não o utilize.

Requisitos para esse pipeline:

  • Os arquivos a serem lidos precisam estar em formato JSON ou CSV delimitado por nova linha. Registros que abrangem várias linhas nos arquivos de origem podem causar problemas posteriormente, já que cada linha nos arquivos será publicada como uma mensagem para o Cloud Pub/Sub.
  • O tópico do Cloud Pub/Sub precisa existir antes da execução.

Parâmetros do modelo

Parâmetro Descrição
inputFilePattern O padrão do arquivo de entrada a ser lido. Por exemplo, gs://bucket-name/files/*.json.
outputTopic O tópico de entrada do Cloud Pub/Sub a ser gravado. O nome precisa estar no formato projects/<project-id>/topics/<topic-name>.

Como executar o modelo Cloud Storage Text para Cloud Pub/Sub (lote)

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the Cloud Storage Text to Cloud Pub/Sub (Batch) template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_TOPIC_NAME pelo nome do tópico do Cloud Pub/Club.
  • Substitua YOUR_BUCKET_NAME pelo nome do intervalo do Cloud Storage.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub \
    --parameters \
inputFilePattern=gs://YOUR_BUCKET_NAME/files/*.json,\
outputTopic=projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/GCS_Text_to_Cloud_PubSub

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua YOUR_TOPIC_NAME pelo nome do tópico do Cloud Pub/Club.
  • Substitua YOUR_BUCKET_NAME pelo nome do intervalo do Cloud Storage.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/GCS_Text_to_Cloud_PubSub
{
   "jobName": "JOB_NAME",
   "parameters": {
       "inputFilePattern": "gs://YOUR_BUCKET_NAME/files/*.json",
       "outputTopic": "projects/YOUR_PROJECT_ID/topics/YOUR_TOPIC_NAME"
   },
   "environment": { "zone": "us-central1-f" }
}

Java Database Connectivity (JDBC) para o BigQuery

O modelo JDBC para BigQuery é um pipeline em lote que copia dados de uma tabela de banco de dados relacional para uma tabela existente do BigQuery. Esse pipeline usa o JDBC para se conectar ao banco de dados relacional. Você pode usar esse modelo para copiar dados de qualquer banco de dados relacional com drivers JDBC disponíveis no BigQuery.

Requisitos para esse pipeline:

  • É necessário que os drivers do JDBC para o banco de dados relacional estejam disponíveis.
  • A tabela do BigQuery precisa existir antes da execução do pipeline.
  • A tabela do BigQuery precisa ter um esquema compatível.
  • O banco de dados relacional precisa estar acessível na sub-rede em que o Cloud Dataflow é executado.

Parâmetros do modelo

Parâmetro Descrição
driverJars Lista separada por vírgulas de jars de driver. Por exemplo, gs://<my-bucket>/driver_jar1.jar,gs://<my-bucket>/driver_jar2.jar.
driverClassName O nome da classe do driver do JDBC. Por exemplo, com.mysql.jdbc.Driver.
connectionURL A string do URL de conexão do JDBC. Por exemplo, jdbc:mysql://some-host:3306/sampledb.
query Consulta a ser executada na fonte para extrair os dados. Por exemplo, select * from sampledb.sample_table.
outputTable O local da tabela de saída do BigQuery, no formato <my-project>:<my-dataset>.<my-table>.
bigQueryLoadingTemporaryDirectory Diretório temporário para o processo de carregamento do BigQuery. Por exemplo, gs://<my-bucket>/my-files/temp_dir.
connectionProperties [Opcional] String de propriedades a ser usada para a conexão JDBC. Por exemplo, unicode=true&characterEncoding=UTF-8.
username [Opcional] Nome do usuário a ser usado para a conexão JDBC.
password [Opcional] Senha a ser usada para a conexão JDBC.

Como executar o modelo JDBC para BigQuery

CONSOLE

Executar do Console do Google Cloud Platform
  1. Acesse a página do Cloud Dataflow no Console do GCP.
  2. Acessar a página do Cloud Dataflow
  3. Clique em CRIAR JOB A PARTIR DO MODELO.
  4. Criar job a partir de um botão de modelo no Console do Cloud Platform
  5. Selecione the JDBC to BigQuery template no menu suspenso Modelo do Cloud Dataflow.
  6. Digite o nome de um job no campo Nome do job. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  7. Digite os valores de parâmetro nos campos de parâmetro fornecidos.
  8. Clique em Executar job.

GCLOUD

Executar da ferramenta de linha de comando gcloud

Observação: para usar a ferramenta de linha de comando gcloud na execução dos modelos, você precisa ter a versão 138.0.0 ou superior do SDK do Cloud.

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua DRIVER_PATHS pelo(s) caminho(s) do Cloud Storage separados por vírgula do(s) driver(s) do JDBC.
  • Substitua DRIVER_CLASS_NAME pelo nome da classe da unidade.
  • Substitua JDBC_CONNECTION_URL pelo URL de conexão JDBC.
  • Substitua SOURCE_SQL_QUERY pela consulta SQL a ser executada no banco de dados de origem.
  • Substitua YOUR_DATASET pelo conjunto de dados do BigQuery e YOUR_TABLE_NAME pelo nome da tabela do BigQuery.
  • Substitua PATH_TO_TEMP_DIR_ON_GCS pelo caminho do Cloud Storage para o diretório temporário.
  • Substitua CONNECTION_PROPERTIES pelas propriedades de conexão JDBC, se necessário.
  • Substitua CONNECTION_USERNAME pelo nome de usuário da conexão JDBC.
  • Substitua CONNECTION_PASSWORD pela senha de conexão JDBC.
gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/latest/Jdbc_to_BigQuery \
    --parameters \
driverJars=DRIVER_PATHS,\
driverClassName=DRIVER_CLASS_NAME,\
connectionURL=JDBC_CONNECTION_URL,\
query=SOURCE_SQL_QUERY,\
outputTable=YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME,
bigQueryLoadingTemporaryDirectory=PATH_TO_TEMP_DIR_ON_GCS,\
connectionProperties=CONNECTION_PROPERTIES,\
username=CONNECTION_USERNAME,\
password=CONNECTION_PASSWORD

API

Executar a partir da API REST

Ao executar este modelo, é necessário indicar o caminho dele no Cloud Storage:

gs://dataflow-templates/VERSION/Jdbc_to_BigQuery

Para executar esse modelo com uma solicitação de API REST, envie uma solicitação HTTP POST com o ID do projeto. Essa solicitação requer uma autorização.

Substitua os valores a seguir neste exemplo:

  • Substitua YOUR_PROJECT_ID pelo código do projeto.
  • Substitua JOB_NAME por um nome de job de sua escolha. O nome do job precisa corresponder à expressão regular [a-z]([-a-z0-9]{0,38}[a-z0-9])? para ser válido.
  • Substitua DRIVER_PATHS pelo(s) caminho(s) do Cloud Storage separados por vírgula do(s) driver(s) do JDBC.
  • Substitua DRIVER_CLASS_NAME pelo nome da classe da unidade.
  • Substitua JDBC_CONNECTION_URL pelo URL de conexão JDBC.
  • Substitua SOURCE_SQL_QUERY pela consulta SQL a ser executada no banco de dados de origem.
  • Substitua YOUR_DATASET pelo conjunto de dados do BigQuery e YOUR_TABLE_NAME pelo nome da tabela do BigQuery.
  • Substitua PATH_TO_TEMP_DIR_ON_GCS pelo caminho do Cloud Storage para o diretório temporário.
  • Substitua CONNECTION_PROPERTIES pelas propriedades de conexão JDBC, se necessário.
  • Substitua CONNECTION_USERNAME pelo nome de usuário da conexão JDBC.
  • Substitua CONNECTION_PASSWORD pela senha de conexão JDBC.
POST https://dataflow.googleapis.com/v1b3/projects/YOUR_PROJECT_ID/templates:launch?gcsPath=gs://dataflow-templates/latest/Jdbc_to_BigQuery
{
   "jobName": "JOB_NAME",
   "parameters": {
       "driverJars": "DRIVER_PATHS",
       "driverClassName": "DRIVER_CLASS_NAME",
       "connectionURL": "JDBC_CONNECTION_URL",
       "query": "SOURCE_SQL_QUERY",
       "outputTable": "YOUR_PROJECT_ID:YOUR_DATASET.YOUR_TABLE_NAME",
       "bigQueryLoadingTemporaryDirectory": "PATH_TO_TEMP_DIR_ON_GCS",
       "connectionProperties": "CONNECTION_PROPERTIES",
       "username": "CONNECTION_USERNAME",
       "password": "CONNECTION_PASSWORD"
   },
   "environment": { "zone": "us-central1-f" }
}
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.