Preparar dados com agentes de IA no codelab do BigQuery

1. Introdução

Imagine poder preparar seus dados para análise de forma mais rápida e eficiente sem precisar ser um especialista em programação. Com a Preparação de dados do BigQuery, isso é uma realidade. Esse recurso avançado simplifica a ingestão de dados, a transformação e a limpeza de dados, colocando a preparação de dados nas mãos de todos os profissionais de dados da sua organização.

Quer descobrir os segredos ocultos nos dados de produtos?

Pré-requisitos

  • Conhecimentos básicos sobre o Google Cloud e o console
  • Conhecimento básico de SQL

O que você vai aprender

  • Como a preparação de dados do BigQuery pode limpar e transformar seus dados brutos em Business Intelligence útil, usando um exemplo realista do setor de moda e beleza.
  • Como executar e programar a preparação de dados limpos

O que é necessário

  • Uma conta e um projeto do Google Cloud
  • Um navegador da web, como o Chrome

2. Configuração básica e requisitos

Configuração de ambiente autoguiada

  1. Faça login no Console do Google Cloud e crie um novo projeto ou reutilize um existente. Se você ainda não tem uma conta do Gmail ou do Google Workspace, crie uma.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • O Nome do projeto é o nome de exibição para os participantes do projeto. É uma string de caracteres não usada pelas APIs do Google e pode ser atualizada quando você quiser.
  • O ID do projeto precisa ser exclusivo em todos os projetos do Google Cloud e não pode ser mudado após a definição. O console do Cloud gera automaticamente uma string exclusiva. Em geral, não importa o que seja. Na maioria dos codelabs, é necessário fazer referência ao ID do projeto, normalmente identificado como PROJECT_ID. Se você não gostar do ID gerado, crie outro aleatório. Se preferir, teste o seu e confira se ele está disponível. Ele não pode ser mudado após essa etapa e permanece durante o projeto.
  • Para sua informação, há um terceiro valor, um Número do projeto, que algumas APIs usam. Saiba mais sobre esses três valores na documentação.
  1. Em seguida, ative o faturamento no console do Cloud para usar os recursos/APIs do Cloud. A execução deste codelab não vai ser muito cara, se tiver algum custo. Para encerrar os recursos e evitar cobranças além deste tutorial, exclua os recursos criados ou exclua o projeto. Novos usuários do Google Cloud estão qualificados para o programa de US$300 de avaliação sem custos.

3. Antes de começar

Ativar API

Para usar o Gemini no BigQuery, é necessário ativar a API Gemini para Google Cloud. Normalmente, essa etapa é realizada por um administrador de serviços ou proprietário do projeto com a permissão serviceusage.services.enable do IAM.

  1. Para ativar a API Gemini para Google Cloud, acesse a página Gemini para Google Cloud no Google Cloud Marketplace. Acessar o Gemini para Google Cloud
  2. No seletor de projetos, escolha um projeto.
  3. Clique em Ativar. A página é atualizada e mostra o status Ativado. O Gemini no BigQuery agora está disponível no projeto selecionado do Google Cloud para todos os usuários que têm as permissões necessárias do IAM.

Configurar funções e permissões para desenvolver preparações de dados

  1. Em IAM e administrador, selecione IAM

4477412d79f29e0b.png

  1. Selecione seu usuário e clique no ícone de lápis para "Editar principal".

5eb558e04ad12362.png

Para usar a preparação de dados do BigQuery, você precisa das seguintes funções e permissões:

4. Como encontrar e assinar a listagem "Demonstração de preparação de dados do bq" no Analytics Hub do BigQuery

Vamos usar o conjunto de dados bq data preparation demo neste tutorial. É um conjunto de dados vinculado no Analytics Hub do BigQuery que vamos ler.

A preparação de dados nunca grava de volta na origem, e vamos pedir que você defina uma tabela de destino para gravar. A tabela que vamos usar neste exercício tem apenas 1.000 linhas para manter os custos mínimos,mas a preparação de dados é executada no BigQuery e será escalonada.

Siga estas etapas para encontrar e assinar o conjunto de dados vinculado:

  1. Acesse o Analytics Hub: no console do Google Cloud, navegue até o BigQuery.
  2. No menu de navegação do BigQuery, em "Governança", selecione "Analytics Hub".

6ddfac4dd863ca7b.png

  1. Pesquise a listagem: na interface do Analytics Hub, clique em Pesquisar listagens.
  2. Digite bq data preparation demo na barra de pesquisa e pressione Enter.

7e0cb82b80174cdc.png

  1. Inscrever-se na página do produto: selecione a página bq data preparation demo nos resultados da pesquisa.
  2. Na página de detalhes da listagem, clique no botão Inscrever-se.
  3. Revise as caixas de diálogo de confirmação e atualize o projeto/conjunto de dados, se necessário. Os padrões devem estar corretos.

2ef0ac1e3557f2f9.png

  1. Acesse o conjunto de dados no BigQuery: depois de fazer a assinatura, os conjuntos de dados na página serão vinculados ao seu projeto do BigQuery.

Volte ao BigQuery Studio.

5. Analisar os dados e iniciar a preparação de dados

  1. Localize o conjunto de dados e a tabela: no painel "Explorer", selecione seu projeto e encontre o conjunto de dados incluído na lista bq data preparation demo. Selecione a tabela stg_product.
  2. Abrir na preparação de dados: clique nos três pontos verticais ao lado do nome da tabela e selecione Open in Data Preparation.

Isso vai abrir a tabela na interface da Preparação de dados, pronta para você começar a transformar seus dados.

76ace3d4b5cfc2d0.png

Como você pode ver na prévia de dados abaixo, temos alguns desafios que vamos enfrentar, incluindo:

  • A coluna de preço contém o valor e a moeda, o que dificulta a análise.
  • A coluna de produtos mistura o nome e a categoria do produto (separados por um símbolo de barra vertical |).

f4d93aa59a56447a.png

Imediatamente, o Gemini analisa seus dados e sugere várias transformações. Neste exemplo, vemos várias recomendações. Nas próximas etapas, vamos aplicar os que precisamos.

fd4d14e4fa3c31c1.png

6. Como processar a coluna de preço

Vamos abordar a coluna Preço. Como vimos, ele contém a moeda e o valor. Nosso objetivo é separar esses dados em duas colunas distintas: "Moeda" e "Valor".

O Gemini identificou várias recomendações para a coluna "Preço".

  1. Encontre uma recomendação que diga algo parecido com:

Descrição: "Essa expressão remove o prefixo "USD " do campo especificado"

REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
  1. Selecione "Visualizar"

c9327cfbd32247d6.png

  1. Selecione "Aplicar".

Em seguida, na coluna Preço, converta o tipo de dados de STRING para NUMERIC.

  1. Encontre uma recomendação que diga algo parecido com:

Descrição: "Converte a coluna "Preço" do tipo string para float64"

SAFE_CAST(Price AS float64)
  1. Selecione "Aplicar".

Agora você vai ver três etapas aplicadas na lista.

d3359af47dce0c15.png

7. Como processar a coluna "Produto"

A coluna de produto contém o nome e a categoria do produto, separados por uma barra vertical (|).

Embora possamos usar a linguagem natural de novo, vamos conhecer outro recurso poderoso do Gemini.

Limpar o nome do produto

  1. Selecione e exclua a parte da categoria de uma entrada de produto, incluindo o caractere |.

5171d598a8cb3a75.png

O Gemini vai reconhecer esse padrão de forma inteligente e sugerir uma transformação para aplicar a toda a coluna.

  1. Selecione "Editar".

b36cac918b4f30e9.png

A recomendação do Gemini é perfeita: ela remove tudo depois do caractere "|", isolando o nome do produto.

Mas desta vez não queremos substituir os dados originais.

  1. No menu suspenso da coluna de destino, selecione "Criar nova coluna".
  2. Defina o nome como ProductName.

bda19e0e5e536ccd.png

  1. Visualize as mudanças para garantir que tudo esteja certo.
  2. Aplique a transformação.

Extrair a categoria do produto

Usando a linguagem natural, vamos instruir o Gemini a extrair a palavra após a barra vertical (|) na coluna "Produto". Esse valor extraído será substituído na coluna "Produto".

  1. Clique em Add Step para adicionar uma nova etapa de transformação.

77944047e698494c.png

  1. Selecione Transformation no menu suspenso.
  2. No campo de comando de linguagem natural, insira "extraia a palavra após a barra vertical (|) na coluna "Produto"" e pressione "Return" para gerar o SQL.

82efc2447a3210bd.png

  1. Deixe a coluna de destino como "Produto".
  2. Clique em Aplicar.

A transformação vai gerar os seguintes resultados.

d741c66d9e0e8e00.png

8. Como fazer junções para enriquecer os dados

Muitas vezes, você vai querer enriquecer seus dados com informações de outras fontes. No nosso exemplo, vamos juntar os dados de produtos com atributos de produtos estendidos, stg_extended_product, de uma tabela de terceiros. Essa tabela inclui detalhes como marca e data de lançamento.

  1. Clique em Add Step.
  2. Selecionar Join
  3. Navegue até a tabela stg_extended_product.

dca14451c3fbc7f0.png

O Gemini no BigQuery escolheu automaticamente a chave de junção "productid" e qualificou os lados esquerdo e direito, já que o nome da chave é idêntico.

Observação: verifique se o campo de descrição diz "Join by productid". Se ele incluir outras chaves de junção, substitua o campo de descrição por "Junção por productid" e selecione o botão de geração no campo de descrição para gerar novamente a expressão de junção com a seguinte condição L.

productid

= R.

productid. 4d6dbfea28772f34.png

  1. Se quiser, selecione "Visualizar" para conferir os resultados.
  2. Clique em Apply.

Como limpar os atributos estendidos

Embora a junção tenha sido bem-sucedida, os dados de atributos estendidos precisam de limpeza. A coluna LaunchDate tem formatos de data inconsistentes, e a coluna Brand contém alguns valores ausentes.

Vamos começar abordando a coluna LaunchDate.

f9b570d7c2d3a98d.png

Antes de criar transformações, confira as recomendações do Gemini.

  1. Clique no nome da coluna LaunchDate. Você vai ver algumas recomendações geradas semelhantes às da imagem abaixo.

62b6e6027a46ba75.png

  1. Se você encontrar uma recomendação com o seguinte SQL, aplique a recomendação e pule as próximas etapas.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Se você não encontrar uma recomendação que corresponda ao SQL acima, clique em Add Step.
  2. Selecione Transformation.
  3. No campo SQL, insira o seguinte:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
  1. Defina o Target Columns como LaunchDate.
  2. Clique em Apply.

A coluna "LaunchDate" agora tem um formato de data consistente.

ccf34aa05754a834.png

9. Adicionar uma tabela de destino

Nosso conjunto de dados está limpo e pronto para ser carregado em uma tabela de dimensão no data warehouse.

  1. Clique em ADD STEP.
  2. Selecione Destination.
  3. Preencha os parâmetros obrigatórios: Conjunto de dados: bq_data_preparation_demo Tabela: DimProduct
  4. Clique em Save.

79fdc3666a3a21b9.png

Agora trabalhamos com as guias "Dados" e "Esquema". Além disso, a preparação de dados do BigQuery oferece uma visualização "Gráfico" que mostra visualmente a sequência de etapas de transformação no seu pipeline.

95e64d8152228f7b.png

10. Bônus A: como processar a coluna "Fabricante" e criar uma tabela de erros

Também identificamos valores vazios na coluna Manufacturer. Para esses registros, queremos implementar uma verificação de qualidade de dados e movê-los para uma tabela de erros para análise posterior.

Criar uma tabela de erros

  1. Clique no botão More ao lado do título stg_product data preparation.
  2. Na seção Setting, selecione Error Table.
  3. Marque a caixa Enable error table e configure as opções da seguinte maneira:
  • Conjunto de dados: selecione bq_data_preparation_demo
  • Tabela: insira err_dataprep
  • Em Define duration for keeping errors, selecione 30 days (default)
  1. Clique em Save.

adb5722f05c1b205.png

Configurar a validação na coluna "Fabricante"

  1. Selecione a coluna "Fabricante".
  2. O Gemini provavelmente identificou uma transformação relevante. Encontre a recomendação que mantém apenas as linhas em que o campo "Fabricante" não está vazio. Ele terá um SQL semelhante a:
Manufacturer IS NOT NULL

2.Clique no botão "Editar" nessa recomendação para analisá-la.

4749b551a03d8193.png

  1. Marque a opção As linhas de validação com falhas vão para a tabela de erros se ela não estiver marcada.
  2. Clique em Apply.

A qualquer momento, você pode revisar, modificar ou excluir as transformações aplicadas clicando no botão "Etapas aplicadas".

15df6caacbdd6a69.png

Limpar a coluna redundante ProductID_1

A coluna "ProductID_1", que duplica o "ProductID" da nossa tabela unida, pode ser excluída.

  1. Acesse a guia Schema.
  2. Clique nos três pontos ao lado da coluna ProductID_1.
  3. Clique em Drop.

Agora estamos prontos para executar o job de preparação de dados e validar todo o pipeline. Quando estivermos satisfeitos com os resultados, poderemos agendar a execução automática do job.

  1. Antes de sair da visualização de preparação de dados, salve suas preparações. Ao lado do título stg_product data preparation, você vai encontrar um botão Save. Clique no botão para salvar.

11. Limpar o ambiente

  • Exclua o stg_product data preparation.
  • Excluir o conjunto de dados bq data preparation demo

12. Parabéns

Parabéns por concluir o codelab.

O que vimos

  • Configurar a preparação de dados
  • Como abrir tabelas e navegar pela preparação de dados
  • Como dividir colunas com dados numéricos e descritores de unidades
  • Padronização de formatos de data
  • Executar preparações de dados