Ferramentas de análise programática
Neste documento, descrevemos várias maneiras de escrever e executar códigos para analisar dados gerenciados no BigQuery.
Embora o SQL seja uma linguagem de consulta poderosa, linguagens de programação como Python, Java ou R fornecem sintaxes e uma grande matriz de funções estatísticas incorporadas que os analistas de dados podem achar mais expressivas e fáceis de manipular para certos tipos de análise de dados.
Da mesma forma, embora as planilhas sejam amplamente usadas, outros ambientes de programação, como notebooks, às vezes podem fornecer um ambiente mais flexível para a análise e exploração de dados complexos.
Notebooks do Colab Enterprise
É possível usar os notebooks do Colab Enterprise no BigQuery para concluir fluxos de trabalho de análise e machine learning (ML) usando SQL, Python e outros pacotes e APIs comuns. O Notebooks oferece colaboração e gerenciamento aprimorados com as seguintes opções:
- Compartilhe notebooks com usuários e grupos específicos usando o Identity and Access Management (IAM).
- Consulte o histórico de versões do notebook.
- Reverta ou ramifique versões anteriores do notebook.
Os notebooks são recursos de código do BigQuery Studio com tecnologia do Dataform, mas não aparecem no Dataform. As consultas salvas também são recursos de código. Todos os recursos de código são armazenados em uma região padrão. A atualização da região padrão muda a região de todos os recursos de código criados depois desse ponto.
Os recursos do notebook estão disponíveis apenas no console do Google Cloud .
Os notebooks no BigQuery oferecem os seguintes benefícios:
- Integração perfeita com Python: use a API BigQuery DataFrames sem nenhuma configuração adicional.
- Desenvolvimento com tecnologia de IA: use a IA generativa do Gemini para desenvolvimento de código assistido.
- Recursos familiares do editor: use o preenchimento automático de SQL, semelhante ao editor de SQL do BigQuery.
- Visualizações integradas: use visualizações interativas de DataFrame ou bibliotecas como matplotlib e seaborn para visualizar dados diretamente no seu fluxo de trabalho.
- Interoperabilidade SQL-Python: execute SQL em células que referenciam variáveis Python.
Para começar a usar os notebooks, use os modelos da galeria de notebooks. Para mais informações, consulte Criar um notebook usando a galeria de notebooks.
BigQuery DataFrames
O BigQuery DataFrames é um conjunto de bibliotecas Python de código aberto que permite aproveitar o processamento de dados do BigQuery usando APIs conhecidas do Python. O BigQuery DataFrames implementa as APIs pandas e scikit-learn enviando o processamento para o BigQuery por meio da conversão de SQL. Esse design permite que você use o BigQuery para analisar e processar terabytes de dados e treinar modelos de ML, tudo com APIs Python.
O BigQuery DataFrames oferece os seguintes benefícios:
- Mais de 750 APIs pandas e scikit-learn implementadas por meio da conversão SQL transparente para APIs do BigQuery e do BigQuery ML.
- Execução adiada de consultas para melhorar o desempenho.
- Ampliação de transformações de dados com funções Python definidas pelo usuário para permitir processar dados na nuvem. Elas são implantadas automaticamente como funções remotas do BigQuery.
- Integração com a plataforma de agentes do Gemini Enterprise que permite usar modelos do Gemini para geração de texto.
Outras soluções de análise programática
As seguintes soluções de análise programática também estão disponíveis no BigQuery.
Notebooks do Jupyter
O Jupyter é um aplicativo de código aberto baseado na Web para publicar notebooks que contêm código ativo, descrições textuais e visualizações. Cientistas de dados, especialistas em machine learning e estudantes comumente usam essa plataforma para tarefas como limpeza e transformação de dados, simulação numérica, modelagem estatística, visualização de dados e ML.
Os notebooks do Jupyter são criados sobre o kernel IPython, um poderoso shell interativo, que interage diretamente com o BigQuery usando o IPython Magics para BigQuery. Como alternativa, também é possível acessar o BigQuery a partir de suas instâncias de notebooks do Jupyter instalando qualquer uma das bibliotecas de clientes disponíveis do BigQuery. Visualize os dados do BigQuery GIS com os notebooks do Jupyter por meio da extensão GeoJSON. Para mais detalhes sobre a integração do BigQuery, consulte o tutorial Como visualizar dados do BigQuery em um notebook do Jupyter.
O JupyterLab (em inglês) é uma interface do usuário baseada na Web para gerenciar documentos e atividades, como notebooks do Jupyter, editores de texto, terminais e componentes personalizados. O JupyterLab possibilita organizar vários documentos e atividades lado a lado na área de trabalho usando guias e divisores.
É possível implantar notebooks do Jupyter e ambientes do JupyterLab em Google Cloud usando um dos seguintes produtos:
- Instâncias do Vertex AI Workbench , um serviço que oferece um ambiente JupyterLab integrado em que desenvolvedores de machine learning e cientistas de dados podem usar alguns dos frameworks mais recentes de machine learning e ciência de dados. O Vertex AI Workbench é integrado a outros produtos de dados do Google Cloud , como o BigQuery, facilitando a transição da ingestão de dados para o pré-processamento e a exploração e, por fim, para treinamento de modelo e a implantação. Para saber mais, consulte Introdução às instâncias do Vertex AI Workbench.
- O Serviço Gerenciado para Apache Spark é um serviço totalmente gerenciado, rápido e fácil de usar. Ele executa os clusters do Apache Spark e do Apache Hadoop (links em inglês) de maneira simples e econômica. É possível instalar os notebooks do Jupyter e o JupyterLab em um cluster do Serviço Gerenciado para Apache Spark usando o componente opcional Jupyter. O componente fornece um kernel do Python para executar o código PySpark (link em inglês). Por padrão, o Serviço Gerenciado para Apache Spark configura automaticamente os notebooks para serem salvos no Cloud Storage (em inglês), tornando os mesmos arquivos de notebook acessíveis a outros clusters. Ao migrar seus notebooks para o Serviço Gerenciado para Apache Spark, verifique se as dependências dos seus notebooks estão cobertas pelas versões compatíveis do Serviço Gerenciado para Apache Spark. Caso precise instalar um software personalizado, pense em criar sua própria imagem do Serviço Gerenciado para Apache Spark, escrever suas próprias ações de inicialização ou especificar requisitos personalizados de pacotes do Python. Para começar, consulte o tutorial sobre Como instalar e executar um notebook do Jupyter em um cluster do Serviço Gerenciado para Apache Spark.
Apache Zeppelin
O Apache Zeppelin (em inglês) é um projeto de código aberto que oferece notebooks baseados na Web para análise de dados.
Implante uma instância do Apache Zeppelin no Serviço gerenciado para Apache Spark instalando o componente opcional Zeppelin.
Por padrão, os notebooks são salvos no Cloud Storage no bucket de preparação do Serviço Gerenciado para Apache Spark, que é especificado pelo usuário ou criado automaticamente na criação do cluster. É possível alterar o local do notebook adicionando a propriedade zeppelin:zeppelin.notebook.gcs.dir ao criar o cluster. Para mais informações sobre como instalar e configurar o Apache Zeppelin,
consulte o
guia do componente Zeppelin.
Para um exemplo, consulte
Como analisar conjuntos de dados do BigQuery usando o BigQuery Interpreter para Apache Zeppelin.
Apache Hadoop, Apache Spark e Apache Hive
Para parte da migração do pipeline de análise de dados, migre alguns jobs legados do Apache Hadoop, do Apache Spark ou do Apache Hive que precisam processar dados diretamente do data warehouse. Por exemplo, é possível extrair recursos para suas cargas de trabalho de machine learning.
O Serviço Gerenciado para Apache Spark permite implantar clusters totalmente gerenciados do Hadoop e do Spark de maneira eficiente e econômica. O Serviço Gerenciado para Apache Spark se integra aos conectores do BigQuery de código aberto. Esses conectores usam a API BigQuery Storage, que transmite dados em paralelo diretamente do BigQuery por meio do gRPC.
Ao migrar suas cargas de trabalho atuais do Hadoop e do Spark para o Serviço gerenciado para Apache Spark, verifique se as dependências delas estão cobertas pelas versões compatíveis do Serviço gerenciado para Apache Spark. Se você precisar instalar um software personalizado, é possível criar sua própria imagem do Serviço gerenciado para Apache Spark, escrever suas próprias ações de inicialização ou especificar requisitos personalizados de pacotes do Python.
Para começar, consulte os guias de início rápido do Serviço Gerenciado para Apache Spark e as amostras de código do conector do BigQuery.
Apache Beam
O Apache Beam (em inglês) é um framework de código aberto que fornece um conjunto avançado de primitivos de gestão janelas e de análise de sessão, além de um ecossistema de conectores de origem e de coletor, incluindo um conector para o BigQuery (em inglês). O Apache Beam permite transformar e enriquecer dados nos modos de fluxo (tempo real) e lote (histórico) com confiabilidade e expressividade iguais.
O Dataflow é um serviço totalmente gerenciado para executar jobs do Apache Beam em escala. A abordagem sem servidor do Dataflow remove a sobrecarga operacional com desempenho, dimensionamento, disponibilidade, segurança e conformidade processados automaticamente, para que você possa se concentrar na programação em vez de gerenciar os clusters de servidores.
É possível enviar jobs do Dataflow de maneiras diferentes, por meio da interface de linha de comando, do SDK do Java (em inglês) ou do SDK do Python (em inglês).
Caso queira migrar as consultas e os pipelines de dados de outros frameworks para o Apache Beam e o Dataflow, leia sobre o modelo de programação do Apache Beam e acesse a documentação oficial do Dataflow.
Outros recursos
O BigQuery oferece uma grande variedade de bibliotecas de cliente em várias linguagens de programação, como Java, Go, Python, JavaScript, PHP e Ruby. Alguns frameworks de análise de dados, como o Pandas, fornecem plug-ins que interagem diretamente com o BigQuery. Para conferir alguns exemplos práticos, consulte o tutorial Visualizar dados do BigQuery em um notebook do Jupyter.
Por fim, se você preferir gravar programas em um ambiente shell, é possível usar a ferramenta de linha de comando bq.