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.
Antes de começar
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. - Crie uma instância do Cloud Data Fusion.
Na Google Cloud consola, abra a página Instâncias.
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.
Navegue para a interface Web do Cloud Data Fusion
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.
Implemente o plugin Cloud Storage Argument Setter
Na interface Web do Cloud Data Fusion, aceda à página Studio.
No menu Ações, clique em GCS Argument Setter.
Ler a partir do Cloud Storage
- Na interface Web do Cloud Data Fusion, aceda à página Studio.
- Clique em arrow_drop_down Origem e selecione Cloud Storage. O nó de uma origem do Cloud Storage aparece no pipeline.
No nó do Cloud Storage, clique em Propriedades.
No campo Nome de referência, introduza um nome.
No campo Caminho, introduza
${input.path}
. Esta macro controla o caminho de entrada do armazenamento na nuvem nas diferentes execuções do pipeline.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.
Clique em Validar e resolva quaisquer erros.
Clique em
para sair da caixa de diálogo Propriedades.
Transforme os seus dados
- Na interface Web do Cloud Data Fusion, aceda ao pipeline de dados na página Studio.
- No menu pendente Transformar arrow_drop_down, selecione Wrangler.
- Na tela do Pipeline Studio, arraste uma seta do nó do Cloud Storage para o nó do Wrangler.
- Aceda ao nó Wrangler no seu pipeline e clique em Propriedades.
- No Nome do campo de entrada, introduza
body
. - No campo Receita, introduza
${directives}
. Esta macro controla qual será a lógica de transformação nas diferentes execuções da pipeline. - Clique em Validar e resolva quaisquer erros.
- Clique em para sair da caixa de diálogo Propriedades.
Escreva no Cloud Storage
- Na interface Web do Cloud Data Fusion, aceda ao pipeline de dados na página Studio.
- No menu pendente Destino arrow_drop_down, selecione Armazenamento na nuvem.
- Na tela do Pipeline Studio, arraste uma seta do nó Wrangler para o nó do Cloud Storage que acabou de adicionar.
- Aceda ao nó de destino do Cloud Storage no pipeline e clique em Propriedades.
- No campo Nome de referência, introduza um nome.
- 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.
- Clique em Validar e resolva quaisquer erros.
- Clique em para sair da caixa de diálogo Propriedades.
Defina os argumentos da macro
- Na interface Web do Cloud Data Fusion, aceda ao pipeline de dados na página Studio.
- No menu pendente arrow_drop_down Condições e ações, clique em Definidor de argumentos do GCS.
- Na tela do Pipeline Studio, arraste uma seta do nó Argument Setter do Cloud Storage para o nó source do Cloud Storage.
- Aceda ao nó Cloud Storage Argument Setter no seu pipeline e clique em Propriedades.
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 caminhogs://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 valorsend-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.Clique em Validar para se certificar de que não tem erros.
Clique em
para sair da caixa de diálogo Propriedades.
Implemente e execute a sua conduta
Na barra superior da página Pipeline Studio, clique em Dê um nome à sua pipeline. Atribua um nome ao pipeline e clique em Guardar.
Clique em Implementar.
Para abrir os Argumentos de tempo de execução e ver os argumentos de macro (tempo de execução)
input.path
edirectives
, clique no menu pendente arrow_drop_down 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.
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:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
O que se segue?
- Leia os guias de instruções
- Trabalhe noutro tutorial