Ferramentas e funcionalidades para programadores

Este documento oferece uma vista geral de algumas das funcionalidades e ferramentas que ajudam a desenvolver soluções com o BigQuery.

Diagrama da arquitetura do BigQuery.

Funcionalidades de programação

Esta secção descreve algumas funcionalidades incorporadas comuns para programadores que usam o BigQuery.

Carregue e transforme dados

O BigQuery oferece formas de carregar em lote, fazer stream e gerar novos dados. Para escolher a melhor opção para o seu exemplo de utilização, consulte o artigo Introdução ao carregamento de dados.

Consultas

O BigQuery está otimizado para executar consultas analíticas escritas em GoogleSQL em grandes conjuntos de dados. Pode agendar, guardar e partilhar consultas executadas em dados armazenados no BigQuery, dados externos, dados armazenados noutras nuvens ou conjuntos de dados públicos.

Funções remotas

Pode usar funções remotas para implementar as suas funções em funções do Cloud Run ou Cloud Run, e, em seguida, invocá-las diretamente a partir das suas consultas GoogleSQL. Esta abordagem é especialmente útil se precisar de implementar as suas funções noutros idiomas que não SQL ou Javascript. Pode usar funções remotas para muitas coisas, como traduzir texto numa tabela de um idioma para outro, iniciar ações como enviar-lhe uma notificação quando os valores numa tabela ficam abaixo de um limite ou executar transformações em lote, como aplicar um modelo de aprendizagem automática (AA).

Aprendizagem automática

Pode usar o BigQuery ML para criar e executar modelos de AA com consultas GoogleSQL.

Procedimentos armazenados SQL

Pode usar procedimentos armazenados SQL para chamar conjuntos de declarações de outras consultas ou procedimentos armazenados. Pode chamar procedimentos armazenados incorporados ou escrever os seus próprios procedimentos, que lhe permitem definir variáveis e implementar o fluxo de controlo.

Dados semiestruturados

Pode usar dados JSON no GoogleSQL para carregar dados semiestruturados para o BigQuery sem fornecer um esquema antecipadamente. Pode usar o operador de acesso a campos para consultar os valores de campos e elementos de matriz diretamente.

Viagem no tempo

Pode usar a viagem no tempo para aceder aos dados armazenados no BigQuery que foram alterados ou eliminados em qualquer altura nos últimos sete dias. Esta funcionalidade permite-lhe restaurar tabelas atualizadas, eliminadas ou expiradas, mesmo que não tenha feito uma cópia de segurança dos seus dados.

Instantâneos de tabelas

Pode usar momentos das tabelas quando precisa de fazer uma cópia de segurança da tabela a partir de um ponto no tempo fora do período de viagem no tempo. O BigQuery armazena apenas os bytes que são diferentes entre uma imagem instantânea e a respetiva tabela base. Por isso, uma imagem instantânea de uma tabela usa normalmente menos armazenamento do que uma cópia completa da tabela.

Clones de tabelas

Pode usar clones de tabelas para criar versões de tabelas e testar alterações ao esquema de tabelas. Um clone de tabela é uma cópia leve e gravável de outra tabela. Só lhe é cobrado o armazenamento de dados no clone da tabela que difere da tabela base. Por isso, inicialmente, não existe custo de armazenamento para um clone da tabela.

Tabelas externas

Pode consultar tabelas externas diretamente a partir do BigQuery, como dados numa base de dados Google Cloud diferente, ficheiros no Cloud Storage ou num produto da nuvem diferente. Esta funcionalidade permite-lhe executar cargas de trabalho de ELT com uma única consulta ou juntar tabelas do BigQuery com dados que mudam frequentemente de outra origem.

Funções definidas pelo utilizador

Pode escrever funções definidas pelo utilizador (FDUs) em GoogleSQL ou JavaScript que podem ser reutilizadas em várias consultas. Pode autorizar uma FDU como uma rotina, o que lhe permite partilhar resultados de consultas com utilizadores ou grupos específicos sem conceder a esses utilizadores ou grupos acesso às tabelas subjacentes.

APIs BigQuery

O BigQuery oferece APIs REST e gRPC para interagir programaticamente com os seus diferentes tipos de serviços. Pode autenticar a identidade do seu cliente para aceder às APIs através de contas de serviço ou contas de utilizador. As seguintes APIs estão disponíveis:

Para mais informações sobre o que cada API oferece, consulte a vista geral das APIs e bibliotecas do BigQuery.

Biblioteca DataFrames do BigQuery

O BigQuery DataFrames é uma API Python que pode usar para analisar dados e realizar tarefas de aprendizagem automática no BigQuery. Pode verificar o código fonte da API no GitHub.

Comece a usar os DataFrames do BigQuery com o início rápido dos DataFrames do BigQuery.

Bibliotecas cliente

As bibliotecas cliente permitem-lhe aceder diretamente às APIs BigQuery através da sua linguagem de programação preferida, incluindo C#, Go, Java, Node.js, PHP, Python e Ruby. Para ver estes recursos para a API BigQuery, selecione um dos seguintes idiomas:

C#

Go

Java

Node.js

PHP

Python

Ruby

Para mais informações sobre como usar as bibliotecas de cliente do BigQuery no seu ambiente local, consulte o artigo Bibliotecas de cliente da API BigQuery.

Exemplos de código

Pode procurar exemplos de código do BigQuery que fornecem fragmentos completos para realizar tarefas comuns no BigQuery, como criar tabelas, listar associações, ver compromissos de capacidade e reservas, e carregar dados. Para ver um exemplo, selecione uma API, uma tarefa e o seu idioma preferido.

Ferramentas e serviços programáticos

Os seguintes serviços estão integrados no BigQuery, oferecendo capacidades adicionais para criar soluções:

  • Dataproc. Um serviço totalmente gerido para executar tarefas do Apache Hadoop e Apache Spark. O Dataproc fornece o conetor do BigQuery, que permite ao Hadoop e ao Spark processar diretamente dados do BigQuery.
  • Dataflow. Um serviço totalmente gerido para executar tarefas do Apache Beam em grande escala. O conetor de E/S do BigQuery para o Beam permite que os pipelines do Beam leiam e escrevam dados no BigQuery.
  • Cloud Composer. Um serviço de agendamento de fluxos de trabalho totalmente gerido incorporado no Apache Airflow. Os operadores do BigQuery permitem que os fluxos de trabalho do Airflow geram conjuntos de dados e tabelas, executem consultas e validem dados.
  • Pub/Sub. Um serviço de mensagens assíncrono e escalável. O Pub/Sub fornece subscrições do BigQuery para escrever mensagens numa tabela do BigQuery existente à medida que são recebidas.

Integração e implementação contínuas

As seguintes opções ajudam a gerir e automatizar o fluxo de trabalho do programador com o BigQuery:

  • Módulo do Terraform do BigQuery. Um módulo para automatizar a instanciação e a implementação dos seus conjuntos de dados e tabelas do BigQuery.
  • Ferramenta de linhas de comando bq. Uma ferramenta de linha de comandos baseada em Python para o BigQuery.
  • Dataform. Um serviço para analistas de dados desenvolverem, testarem, controlarem versões e agendarem fluxos de trabalho SQL complexos para a transformação de dados no BigQuery.
  • dbt. Uma framework para ajudar a agendar e implementar fluxos de trabalho, testar e catalogar os seus dados, e reutilizar partes de código como macros.
  • Liquibase. Uma solução de gestão de alterações ao esquema da base de dados que lhe permite rever e lançar alterações de forma rápida e segura do desenvolvimento à produção.

Controladores ODBC e JDBC

Os controladores de Open Database Connectivity (ODBC) e Java Database Connectivity (JDBC) permitem-lhe escrever aplicações de software independentes da base de dados em linguagens de programação populares para ligar o BigQuery à sua infraestrutura existente. Para mais informações e os lançamentos de controladores mais recentes, consulte os controladores ODBC e JDBC para o BigQuery.

O que se segue?

  • Para mais informações sobre os próximos eventos e recursos para Google Cloud programadores, consulte o centro para programadores.
  • Para mais informações sobre como outras empresas usam a Google Cloud, consulte o data cloud para ISVs.
  • Para mais informações sobre soluções de parceiros validadas que se integram com o BigQuery, consulte Google Cloud Pronto - BigQuery.