Manipular dados com DataFrames do BigQuery
Neste documento, descrevemos as capacidades de manipulação de dados disponíveis com o BigQuery DataFrames. Você pode encontrar as funções descritas na biblioteca bigframes.bigquery.
Funções exigidas
Para conseguir as permissões necessárias a fim de concluir as tarefas neste documento, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Usuário de jobs do BigQuery (
roles/bigquery.jobUser) -
Usuário de sessão de leitura do BigQuery (
roles/bigquery.readSessionUser) -
Use DataFrames do BigQuery 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ê executa a autenticação de usuário final em um ambiente interativo, como um notebook, um REPL do Python ou a linha de comando, o DataFrames do BigQuery 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 usar padrões de sintaxe conhecidos para tarefas de manipulação de dados. As operações definidas pela
API BigQuery DataFrames são executadas no lado do servidor, operando diretamente
em 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 o BigQuery DataFrames, 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 no pandas. As seções a seguir apresentam alguns exemplos.
Processar valores de matriz
Você pode 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
É possível usar 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 períodos Unix
Use a função bigframes.bigquery.unix_micros() na biblioteca bigframes.bigquery para converter carimbos de data/hora em microssegundos do Unix:
Também é possível usar as funções de tempo unix_seconds() e unix_millis().
Usar a função escalar SQL
É possível usar 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
- Saiba 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 exemplo e as amostras dos DataFrames do BigQuery no GitHub.
- Confira a referência da API BigQuery DataFrames.