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
- 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.



- 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.
- 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.
- 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
- No seletor de projetos, escolha um projeto.
- 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
- Em IAM e administrador, selecione IAM

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

Para usar a preparação de dados do BigQuery, você precisa das seguintes funções e permissões:
- Editor de dados do BigQuery (roles/bigquery.dataEditor)
- Consumidor do Service Usage (roles/serviceusage.serviceUsageConsumer)
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:
- Acesse o Analytics Hub: no console do Google Cloud, navegue até o BigQuery.
- No menu de navegação do BigQuery, em "Governança", selecione "Analytics Hub".

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

- Inscrever-se na página do produto: selecione a página
bq data preparation demonos resultados da pesquisa. - Na página de detalhes da listagem, clique no botão Inscrever-se.
- 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.

- 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
- 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 tabelastg_product. - 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.

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 |).

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.

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".
- 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'')
- Selecione "Visualizar"

- Selecione "Aplicar".
Em seguida, na coluna Preço, converta o tipo de dados de STRING para NUMERIC.
- 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)
- Selecione "Aplicar".
Agora você vai ver três etapas aplicadas na lista.

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
- Selecione e exclua a parte da categoria de uma entrada de produto, incluindo o caractere
|.

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

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.
- No menu suspenso da coluna de destino, selecione "Criar nova coluna".
- Defina o nome como ProductName.

- Visualize as mudanças para garantir que tudo esteja certo.
- 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".
- Clique em
Add Steppara adicionar uma nova etapa de transformação.

- Selecione
Transformationno menu suspenso. - 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.

- Deixe a coluna de destino como "Produto".
- Clique em Aplicar.
A transformação vai gerar os seguintes resultados.

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.
- Clique em
Add Step. - Selecionar
Join - Navegue até a tabela
stg_extended_product.

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. 
- Se quiser, selecione "Visualizar" para conferir os resultados.
- 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.

Antes de criar transformações, confira as recomendações do Gemini.
- Clique no nome da coluna
LaunchDate. Você vai ver algumas recomendações geradas semelhantes às da imagem abaixo.

- 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))
- Se você não encontrar uma recomendação que corresponda ao SQL acima, clique em
Add Step. - Selecione
Transformation. - No campo SQL, insira o seguinte:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Defina o
Target ColumnscomoLaunchDate. - Clique em
Apply.
A coluna "LaunchDate" agora tem um formato de data consistente.

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.
- Clique em
ADD STEP. - Selecione
Destination. - Preencha os parâmetros obrigatórios: Conjunto de dados:
bq_data_preparation_demoTabela:DimProduct - Clique em
Save.

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.

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
- Clique no botão
Moreao lado do títulostg_product data preparation. - Na seção
Setting, selecioneError Table. - Marque a caixa
Enable error tablee 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, selecione30 days (default)
- Clique em
Save.

Configurar a validação na coluna "Fabricante"
- Selecione a coluna "Fabricante".
- 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.

- Marque a opção As linhas de validação com falhas vão para a tabela de erros se ela não estiver marcada.
- Clique em
Apply.
A qualquer momento, você pode revisar, modificar ou excluir as transformações aplicadas clicando no botão "Etapas aplicadas".

Limpar a coluna redundante ProductID_1
A coluna "ProductID_1", que duplica o "ProductID" da nossa tabela unida, pode ser excluída.
- Acesse a guia
Schema. - Clique nos três pontos ao lado da coluna
ProductID_1. - 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.
- 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ãoSave. 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