Crie um pipeline reutilizável


Este tutorial mostra como criar um pipeline reutilizável que lê dados do Cloud Storage, faz verificações de qualidade de dados e escreve no Cloud Storage.

Os pipelines reutilizáveis têm uma estrutura de pipeline normal, mas pode alterar a configuração de cada nó do 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 escrever numa tabela de saída do BigQuery. Se quiser que a transformação e a tabela de saída do BigQuery mudem com base no ficheiro do Cloud Storage que o pipeline lê, crie um pipeline reutilizável.

Objetivos

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

Custos

Neste documento, usa os seguintes componentes faturáveis do Google Cloud:

  • Cloud Data Fusion
  • Cloud Storage

Para gerar uma estimativa de custos com base na sua utilização projetada, use a calculadora de preços.

Os novos Google Cloud utilizadores podem ser elegíveis para uma avaliação gratuita.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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 (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 (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. Enable the Cloud Data Fusion, Cloud Storage, BigQuery, and Dataproc APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  7. Crie uma instância do Cloud Data Fusion.
  8. Quando usa o Cloud Data Fusion, usa a Google Cloud consola e a interface Web do Cloud Data Fusion separada. Na Google Cloud consola, pode criar um Google Cloud projeto da consola e criar e eliminar instâncias do Cloud Data Fusion. Na interface Web do Cloud Data Fusion, pode usar as várias páginas, como o Pipeline Studio ou o Wrangler, para usar as funcionalidades do Cloud Data Fusion.

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

      Abra a página Instâncias

    2. Na coluna Ações da instância, clique no link Ver instância. A interface Web do Cloud Data Fusion é aberta num novo separador do navegador.

Implemente o plugin Cloud Storage Argument Setter

  1. Na interface Web do Cloud Data Fusion, aceda à página Studio.

  2. No menu Ações, clique em GCS Argument Setter.

Ler a partir do Cloud Storage

  1. Na interface Web do Cloud Data Fusion, aceda à 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, introduza um nome.

  5. No campo Caminho, introduza ${input.path}. Esta macro controla o caminho de entrada do armazenamento na nuvem nas diferentes execuções do pipeline.

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

  7. Clique em Validar e resolva quaisquer erros.

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

Transforme os seus dados

  1. Na interface Web do Cloud Data Fusion, aceda ao pipeline de dados na página Studio.
  2. No menu pendente Transformar , selecione Wrangler.
  3. Na tela do Pipeline Studio, arraste uma seta do nó do Cloud Storage para o nó do Wrangler.
  4. Aceda ao nó Wrangler no seu pipeline e clique em Propriedades.
  5. No Nome do campo de entrada, introduza body.
  6. No campo Receita, introduza ${directives}. Esta macro controla qual será a lógica de transformação nas diferentes execuções da pipeline.
  7. Clique em Validar e resolva quaisquer erros.
  8. Clique em para sair da caixa de diálogo Propriedades.

Escreva no Cloud Storage

  1. Na interface Web do Cloud Data Fusion, aceda ao pipeline de dados na página Studio.
  2. No menu pendente Destino , selecione Armazenamento na nuvem.
  3. Na tela do Pipeline Studio, arraste uma seta do nó Wrangler para o nó do Cloud Storage que acabou de adicionar.
  4. Aceda ao nó de destino do Cloud Storage no pipeline e clique em Propriedades.
  5. No campo Nome de referência, introduza um nome.
  6. No campo Caminho, introduza o caminho de um contentor do Cloud Storage no seu projeto, onde o pipeline pode escrever os ficheiros de saída. Se não tiver um contentor do Cloud Storage, crie um.
  7. Clique em Validar e resolva quaisquer erros.
  8. Clique em para sair da caixa de diálogo Propriedades.

Defina os argumentos da macro

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

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

    O URL corresponde a um objeto acessível publicamente no Cloud Storage que contém 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 acessível publicamente no Cloud Storage que contém 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 Wrangler para filtrar todas as linhas que não sejam um endereço de email válido. Por exemplo, craig@invalid@example.com é filtrado.

  6. Clique em Validar para se certificar de que não tem erros.

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

Implemente e execute a sua conduta

  1. Na barra superior da página Pipeline Studio, clique em Dê um nome à sua pipeline. Atribua um nome ao pipeline e clique em Guardar.

  2. Clique em Implementar.

  3. Para abrir os Argumentos de tempo de execução e ver os argumentos de macro (tempo de execução) input.path e directives, clique no menu pendente junto a Executar.

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

  4. Clique em Executar.

Limpar

Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.

Depois de concluir o tutorial, limpe os recursos que criou no Google Cloud para que não ocupem quota e não lhe sejam cobrados no futuro. As secções seguintes descrevem como eliminar ou desativar estes recursos.

Elimine a instância do Cloud Data Fusion

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

Elimine o projeto

A forma mais fácil de eliminar a faturação é eliminar o projeto que criou para o tutorial.

Para eliminar o projeto:

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

O que se segue?