Projetar e criar um pipeline reutilizável

Neste tutorial, mostramos como criar um pipeline reutilizável que lê dados do Cloud Storage, realiza verificações de qualidade de dados e grava no Cloud Storage.

Os pipelines reutilizáveis têm uma estrutura de pipeline regular, mas é possível alterar a configuração de cada nó de pipeline com base nas configurações fornecidas por um servidor HTTP. Por exemplo, um pipeline estático pode ler dados do Cloud Storage, aplicar transformações e gravar em uma tabela de saída do BigQuery. Se você quiser que a transformação e a tabela de saída do BigQuery sejam alteradas com base no arquivo do Cloud Storage que o pipeline lê, crie um pipeline reutilizável.

Objetivos

  • Use o plug-in Argument Setter do Cloud Storage para permitir que o pipeline leia entradas diferentes em cada execução.
  • Use o plug-in Argument Setter do Cloud Storage para permitir que o pipeline realize diferentes verificações de qualidade em cada execução.
  • Grave os dados de saída de cada execução no Cloud Storage.

Custos

Neste documento, você vai usar os seguintes componentes faturáveis do Google Cloud:

  • Cloud Data Fusion
  • Cloud Storage

Para gerar uma estimativa de custo baseada na projeção de uso, use a calculadora de preços.

Novos usuários do Google Cloud podem estar qualificados para um teste sem custo financeiro.

Antes de começar

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Ative as APIs do Cloud Data Fusion, Cloud Storage, BigQuery e Dataproc.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar as APIs

  7. Crie uma instância do Cloud Data Fusion.

Ao usar o Cloud Data Fusion, você usa o Google Cloud console e a interface da Web separada do Cloud Data Fusion. No Google Cloud console, é possível criar um Google Cloud projeto doconsole e criar e excluir instâncias do Cloud Data Fusion. Na interface da Web do Cloud Data Fusion, é possível usar as várias páginas, como o Pipeline Studio ou o Administrador, para usar os recursos do Cloud Data Fusion.

  1. Noconsole, abra a página Instâncias. Google Cloud

    Abrir a página "Instâncias"

  2. Na coluna Ações da instância, clique no link Visualizar instância. A interface da Web do Cloud Data Fusion é aberta em uma nova guia do navegador.

Implantar o plug-in Argument Setter do Cloud Storage

  1. Na interface da Web do Cloud Data Fusion, acesse a página Studio.

  2. No menu Ações, clique em Definidor de argumentos do GCS.

Ler do Cloud Storage

  1. Na interface da Web do Cloud Data Fusion, acesse a página Studio.
  2. Clique em Origem e selecione Cloud Storage. O nó de uma origem do Cloud Storage aparece no pipeline.
  3. No nó do Cloud Storage, clique em Propriedades.

  4. No campo Nome de referência, insira um nome.

  5. No campo Caminho, digite ${input.path}. Essa macro controla o caminho de entrada do Cloud Storage nas diferentes execuções do pipeline.

  6. No painel direito "Esquema de saída", remova o campo offset do esquema de saída clicando no ícone de lixeira na linha do campo "offset".

  7. Clique em Validar e corrija os erros.

  8. Clique no para sair da caixa de diálogo Propriedades.

Transformar os dados

  1. Na interface da Web do Cloud Data Fusion, acesse o pipeline de dados na página Studio.
  2. No menu suspenso Transformar , selecione Wrangler.
  3. Na tela do Pipeline Studio, arraste uma seta do nó do Cloud Storage para o nó do Wrangler.
  4. Acesse o nó do Wrangler no pipeline e clique em Propriedades.
  5. Em Nome do campo de entrada, digite body.
  6. No campo Receita, digite ${directives}. Essa macro controla a lógica de transformação nas diferentes execuções do pipeline.
  7. Clique em Validar e corrija os erros.
  8. Clique no para sair da caixa de diálogo Propriedades.

Gravar no Cloud Storage

  1. Na interface da Web do Cloud Data Fusion, acesse o pipeline de dados na página Studio.
  2. No menu suspenso Coletor , selecione Cloud Storage.
  3. Na tela do Pipeline Studio, arraste uma seta do nó do Wrangler para o nó do Cloud Storage que você acabou de adicionar.
  4. Acesse o nó do coletor do Cloud Storage no pipeline e clique em Propriedades.
  5. No campo Nome de referência, insira um nome.
  6. No campo Caminho, insira o caminho de um bucket do Cloud Storage no projeto, onde o pipeline possa gravar os arquivos de saída. Se você não tiver um bucket do Cloud Storage, crie um.
  7. Clique em Validar e corrija os erros.
  8. Clique no para sair da caixa de diálogo Propriedades.

Definir os argumentos da macro

  1. Na interface da Web do Cloud Data Fusion, acesse o pipeline de dados na página Studio.
  2. No menu suspenso Condições e ações, clique em Definidor de argumentos do GCS.
  3. Na tela do Pipeline Studio, arraste uma seta do nó do Argument Setter do Cloud Storage para o nó de origem do Cloud Storage.
  4. Acesse o nó do Argument Setter do Cloud Storage no pipeline e clique em Propriedades.
  5. No campo URL, insira o seguinte URL:

    gs://reusable-pipeline-tutorial/args.json
    

    O URL corresponde a um objeto de acesso público no Cloud Storage com o seguinte conteúdo:

    {
      "arguments" : [
        {
          "name": "input.path",
          "value": "gs://reusable-pipeline-tutorial/user-emails.txt"
        },
        {
          "name": "directives",
          "value": "send-to-error !dq:isEmail(body)"
        }
      ]
    }
    

    O primeiro dos dois argumentos é o valor de input.path. O caminho gs://reusable-pipeline-tutorial/user-emails.txt é um objeto de acesso público no Cloud Storage com os seguintes dados de teste:

    alice@example.com
    bob@example.com
    craig@invalid@example.com
    

    O segundo argumento é o valor de directives. O valor send-to-error !dq:isEmail(body) configura o Administrador para filtrar as linhas que não são um endereço de e-mail válido. Por exemplo, craig@invalid@example.com é filtrado.

  6. Clique em Validar para garantir que você não tem erros.

  7. Clique no para sair da caixa de diálogo Propriedades.

Implantar e executar o pipeline

  1. Na barra superior da página Pipeline Studio, clique em Nomear seu pipeline. Nomeie o pipeline e clique em Salvar.

  2. Clique em Implantar.

  3. Para abrir os Argumentos de execução e visualizar os argumentos da macro (tempo de execução) input.path e directives, clique no menu suspenso ao lado de Executar.

    Deixe os campos de valor em branco para notificar o Cloud Data Fusion de que o nó do Argument Setter do Cloud Storage no pipeline definirá os valores desses argumentos durante o tempo de execução.

  4. Clique em Executar.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Depois de concluir este tutorial, libere espaço dos recursos que você criou no Google Cloud para não atingir a cota nem gerar cobranças para você no futuro. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.

Excluir a instância do Cloud Data Fusion

Siga as instruções para excluir a instância do Cloud Data Fusion.

Excluir o projeto

O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.

Para excluir o projeto:

  1. No Google Cloud console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.

A seguir