Guia de início rápido usando modelos

Nesta página, você aprenderá a criar um pipeline de streaming usando como exemplo um modelo do Dataflow fornecido pelo Google. Mais especificamente, o modelo do Pub/Sub para BigQuery é usado como exemplo.

O tópico do Pub/Sub para o modelo do BigQuery é um pipeline de streaming que lê mensagens formatadas em JSON de um tópico do Pub/Sub e as grava em uma tabela do BigQuery.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative as APIs Cloud Dataflow, Compute Engine, Stackdriver Logging, Cloud Storage, Cloud Storage JSON, BigQuery, Cloud Pub/Sub e Cloud Resource Manager .

    Ative as APIs

  5. Crie um bucket do Cloud Storage:
    1. No Console do Cloud, acesse a página Navegador do Cloud Storage.

      Acessar o navegador

    2. Clique em Criar bucket.
    3. Na página Criar um bucket, insira as informações do seu bucket. Para ir à próxima etapa, clique em Continuar.
      • Em Nomear o bucket, insira um nome exclusivo. Não inclua informações confidenciais no nome do bucket já que o namespace dele é global e visível para o público.
      • Em Escolha um local para armazenar seus dados, faça o seguinte:
        • Selecione uma opção de Tipo de local.
        • Escolha uma opção de Local.
      • Em Escolha uma classe de armazenamento padrão para seus dados, selecione o seguinte: Standard.
      • Em Escolha como controlar o acesso a objetos, selecione uma opção de Controle de acesso.
      • Em Configurações avançadas (opcional), especifique um método de criptografia, uma política de retenção ou rótulos de bucket.
    4. Clique em Criar.

Criar um conjunto de dados e uma tabela do BigQuery

Crie um conjunto de dados do BigQuery e uma tabela com o esquema apropriado para seu tópico Pub/Sub usando o Console do Cloud.

Neste exemplo, o nome do conjunto de dados é taxirides e o nome da tabela é realtime. Para criar esse conjunto de dados e essa tabela:

  1. No Console do Cloud, acesse a página do BigQuery.
    Ir para o BigQuery
  2. No painel Explorador, selecione o projeto em que você quer criar o conjunto de dados.
  3. No painel de detalhes, clique em Criar conjunto de dados.
  4. Na página Criar conjunto de dados, faça o seguinte:
    1. Para o código do conjunto de dados, insira taxirides.
    2. Em Local dos dados, selecione Estados Unidos. Atualmente, os conjuntos de dados públicos são armazenados no localmultirregionalUS. Para simplificar, coloque seu conjunto de dados nele também.
  5. Mantenha as outras configurações padrão e clique em Criar conjunto de dados.
  6. No painel Explorador, expanda o projeto.
  7. Ao lado do conjunto de dados, clique no ícone de ações de visualização e em Abrir.
  8. No painel de detalhes, clique em Criar tabela.
  9. Na página Criar tabela:
    1. Na seção Origem, em Criar tabela de, selecione Tabela em branco.
    2. Na seção Destino, insira realtime como o Nome da tabela.
    3. Na seção Esquema, clique na opção Editar como texto e cole na caixa a definição de esquema a seguir.
      ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp,
      meter_reading:float,meter_increment:float,ride_status:string,passenger_count:integer
    4. Na seção Particionamento e configurações de cluster, em Particionamento, selecione o campo de carimbo de data/hora.
  10. Mantenha as outras configurações padrão e clique em Criar tabela.

Executar o canal

Execute um pipeline de streaming usando o modelo de tópico do Pub/Sub para BigQuery fornecido pelo Google.

  1. No Console do Cloud, acesse a página do Dataflow.
    Acessar jobs do Dataflow
  2. Clique em Criar job usando um modelo.
  3. Digite um Nome do job para o job do Dataflow.
  4. Em modelo do Dataflow, selecione o modelo tópico do Pub/Sub para BigQuery.
  5. Em Tópico de entrada do Pub/Sub, digite projects/pubsub-public-data/topics/taxirides-realtime. O pipeline recebe dados de entrada a partir do tópico de entrada.

    Este é um tema público com base nos Conjunto de dados abertos da Comissão de Táxis e Limusines expandido com mais informações de roteamento com o API Google Maps Directions e carimbos de data/hora interpolados para simular um cenário em tempo real. Veja a seguir uma mensagem de amostra deste tópico, no formato JSON:

    {
      "ride_id": "19c41fc4-e362-4be5-9d06-435a7dc9ba8e",
      "point_idx": 217,
      "latitude": 40.75399,
      "longitude": -73.96302,
      "timestamp": "2021-03-08T02:29:09.66644-05:00",
      "meter_reading": 6.293821,
      "meter_increment": 0.029003782,
      "ride_status": "enroute",
      "passenger_count": 1
    }
  6. Em BigQuery output table, insira PROJECT_ID:taxirides.realtime. Substitua PROJECT_ID pelo ID do projeto em que você criou seu conjunto de dados do BigQuery.
  7. Em Local temporário, insira gs://BUCKET_NAME/temp/. Substitua BUCKET_NAME pelo nome do bucket no Cloud Storage. temp é uma pasta nesse bucket para armazenar arquivos temporários, como o job do pipeline preparado.
  8. Cliquem em Executar job.
  9. Veja os dados gravados no BigQuery. Acesse a página do BigQuery.
    Ir para o BigQuery

    Você pode enviar consultas usando o SQL padrão. Por exemplo, a consulta a seguir seleciona todas as linhas que foram adicionadas nas últimas 24 horas:

    SELECT * FROM `PROJECT_ID.taxirides.realtime`
    WHERE `timestamp` > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
    LIMIT 1000

    Substitua PROJECT_ID pelo ID do projeto em que você criou o conjunto de dados do BigQuery.

Limpeza

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste guia de início rápido, siga estas etapas:

  1. No Console do Cloud, acesse a página de jobs do Dataflow.
    Acessar jobs do Dataflow
    1. Selecione o job de streaming na lista de jobs.
    2. Na navegação, clique em Parar.
    3. Na caixa de diálogo Interromper job, escolha Cancelar ou Drenar o pipeline e clique em Interromper job.
  2. No Console do Cloud, acesse a página do BigQuery.
    Ir para o BigQuery
    1. No painel Explorador, expanda o projeto.
    2. Ao lado do conjunto de dados, clique no ícone de ações de visualização e em Abrir.
    3. No painel de detalhes, clique em Excluir conjunto de dados.
    4. Na caixa de diálogo Excluir conjunto de dados, confirme o comando de exclusão digitando o nome do seu conjunto de dados (taxirides) e clicando em Excluir.

A seguir