Manipular dados com DataFrames do BigQuery
Com os BigQuery DataFrames, é possível manipular dados usando padrões de sintaxe conhecidos do pandas sem transferir conjuntos de dados para fora do data warehouse. Como essas operações são executadas no servidor, é possível inspecionar, manipular e aplicar cálculos complexos diretamente nos dados armazenados no BigQuery.
Para mais informações sobre as funções compatíveis, consulte a biblioteca
bigframes.bigquery.
Funções exigidas
Para receber as permissões necessárias para realizar as tarefas neste documento, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:
- Usuário de jobs do BigQuery (
roles/bigquery.jobUser) - Usuário de sessão de leitura do BigQuery (
roles/bigquery.readSessionUser) -
Use os BigQuery DataFrames em um notebook do BigQuery:
- Usuário do BigQuery (
roles/bigquery.user) - Usuário do ambiente de execução do notebook (
roles/aiplatform.notebookRuntimeUser) - Criador de código (
roles/dataform.codeCreator)
- Usuário do BigQuery (
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Quando você realiza a autenticação de usuário final em um ambiente interativo, como um notebook, REPL do Python ou a linha de comando, o BigQuery DataFrames solicita autenticação, se necessário. Caso contrário, consulte como configurar o Application Default Credentials para vários ambientes.
API pandas
Um recurso importante do BigQuery DataFrames é que a
API bigframes.pandas
foi projetada para ser semelhante às APIs na biblioteca pandas. Esse design permite que você
empregue
padrões de sintaxe conhecidos para tarefas de manipulação de dados. As operações definidas pela
API BigQuery DataFrames são executadas no servidor, operando diretamente
nos dados armazenados no BigQuery e eliminando a necessidade de
transferir conjuntos de dados para fora do BigQuery.
Para verificar quais APIs pandas são compatíveis com os DataFrames do BigQuery, consulte APIs pandas compatíveis.
Inspecionar e manipular dados
É possível usar a API bigframes.pandas para realizar operações de inspeção e cálculo de dados. O exemplo de código a seguir usa a biblioteca bigframes.pandas para inspecionar a coluna body_mass_g, calcular a média body_mass e calcular a média body_mass por species:
Biblioteca do BigQuery
A biblioteca do BigQuery fornece funções SQL do BigQuery que podem não ter um equivalente do pandas. As seções a seguir apresentam alguns exemplos.
Processar valores de matriz
É possível usar a função bigframes.bigquery.array_agg() na biblioteca bigframes.bigquery para agregar valores após uma operação groupby:
Também é possível usar as funções de matriz array_length() e array_to_string().
Criar um objeto struct Series
Use a função bigframes.bigquery.struct() na biblioteca bigframes.bigquery para criar um novo objeto struct Series com subcampos para cada coluna em um DataFrame:
Converter carimbos de data/hora em épocas Unix
Use a função bigframes.bigquery.unix_micros() na biblioteca bigframes.bigquery para converter carimbos de data/hora em microssegundos Unix:
Também é possível usar as funções de tempo unix_seconds() e unix_millis().
Usar a função escalar SQL
Use a função bigframes.bigquery.sql_scalar() na biblioteca bigframes.bigquery para acessar uma sintaxe SQL arbitrária que representa uma expressão de coluna única:
A seguir
- Aprenda mais sobre as funções personalizadas do Python para o BigQuery DataFrames.
- Saiba como gerar código do BigQuery DataFrames com o Gemini.
- Saiba como analisar downloads de pacotes do PyPI com o BigQuery DataFrames.
- Confira o código-fonte, os notebooks de amostra e as amostras do BigQuery DataFrames no GitHub.
- Confira a referência da API BigQuery DataFrames.