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.
- Reverter ou ramificar a partir de versões anteriores do notebook.
Os notebooks são recursos de código do BigQuery Studio com tecnologia do 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:
- O BigQuery DataFrames é integrado aos notebooks e não requer configuração. O BigQuery DataFrames é uma API do Python que pode ser usada para analisar dados do BigQuery em escala usando o pandas do DataFrame e as APIs do scikit-learn.
- Desenvolvimento de código assistido com tecnologia da IA generativa Gemini.
- Capacidade de salvar, compartilhar e gerenciar versões de notebooks.
- Capacidade de usar matplotlib, seaborn e outras bibliotecas conhecidas para visualizar dados a qualquer momento no fluxo de trabalho.
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 Vertex AI 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.
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 no 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 o treinamento de modelo e a implantação. Para saber mais, consulte Introdução às instâncias do Vertex AI Workbench.
- O Dataproc é um serviço totalmente gerenciado, rápido e fácil de usar. Ele executa os clusters do Apache Spark e do Apache Hadoop de maneira simples e econômica. É possível instalar os notebooks do Jupyter e o JupyterLab em um cluster do Dataproc usando o componente opcional Jupyter. O componente fornece um kernel do Python para executar o PySpark (link em inglês). Por padrão, o Dataproc 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 Dataproc, verifique se as dependências dos seus notebooks estão cobertas pelas versões compatíveis do Dataproc. Caso precise instalar um software personalizado, pense em criar sua própria imagem do Dataproc, 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 Dataproc.
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 Dataproc instalando o componente opcional Zeppelin.
Por padrão, os notebooks são salvos no Cloud Storage no bucket de preparação do Dataproc, 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 Dataproc permite implantar clusters totalmente gerenciados do Hadoop e do Spark de maneira eficiente e econômica. O Dataproc 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 Dataproc, verifique se as dependências delas estão cobertas pelas versões do Dataproc com suporte. Caso precise instalar um software personalizado, é possível criar sua própria imagem do Dataproc, escrever suas próprias ações de inicialização ou especificar requisitos personalizados de pacotes do Python.
Para dar os primeiros passos, consulte os guias de início rápido do Dataproc e as exemplos 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.
RStudio
Os cientistas de dados geralmente usam a linguagem de programação R (em inglês) para criar ferramentas de análise de dados e aplicativos estatísticos. RStudio (em inglês) desenvolve ferramentas gratuitas e abertas para a linguagem R e para produtos profissionais corporativos, para que as equipes escalonem e compartilhem o trabalho. Os produtos da RStudio, como o RStudio Server Pro (em inglês), simplificam a análise de dados com o R e fornecem ferramentas eficazes para publicação e compartilhamento.
O RStudio Server Pro é um ambiente de desenvolvimento integrado (IDE, na sigla em inglês) sob demanda e licenciado comercialmente. Ele oferece os recursos encontrados no conhecido ambiente de desenvolvimento integrado de código aberto RStudio, além de conveniência pronta para uso, segurança aprimorada, capacidade de gerenciar várias versões e sessões em R e muito mais.
É possível implantar o componente RStudio Server Pro para Google Cloud a partir do Cloud Marketplace. Esta versão é idêntica ao RStudio Server Pro, mas com mais conveniência para os cientistas de dados, incluindo a pré-instalação de várias versões do R e as bibliotecas de sistemas comuns. Também inclui o bigrquery, o pacote BigQuery para R, que fornece back-ends de DBI e dplyr. Eles permitem interagir com o BigQuery usando SQL de baixo nível ou verbos dplyr de alto nível. Esse pacote simplifica o trabalho com dados armazenados no BigQuery ao permitir que você consulte tabelas do BigQuery e recupere metadados sobre projetos, conjuntos de dados, tabelas e jobs. Para saber mais, consulte o guia oficial sobre Primeiros passos com o RStudio Server Pro para Google Cloud e as Perguntas frequentes do RStudio Server Pro para Google Cloud (links em inglês).
Também é possível instalar a versão de código aberto do RStudio Server em um cluster do Dataproc. Ao executar o RStudio no Dataproc, você aproveita o escalonamento automático do Dataproc. O escalonamento automático permite ter um tamanho mínimo de cluster enquanto desenvolve sua lógica do SparkR. Depois de enviar seu job para processamento em larga escala, você não precisa fazer nada diferente ou se preocupar em modificar seu servidor. Depois que você enviar o job do SparkR ao RStudio, o cluster do Dataproc será escalonado para atender às necessidades do job nos intervalos definidos. Para mais detalhes sobre a integração do RStudio ao Dataproc, consulte o anúncio oficial (em inglês).
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.