Ferramentas e recursos para desenvolvedores

Neste documento, você terá uma visão geral de alguns dos recursos e ferramentas que ajudam a desenvolver soluções com o BigQuery.

Diagrama da arquitetura do BigQuery.

Recursos do desenvolvedor

Nesta seção, descrevemos alguns recursos integrados comuns para desenvolvedores que usam o BigQuery.

Carregar e transformar dados

O BigQuery oferece maneiras de carregar, transmitir e gerar novos dados em lote. Para escolher a melhor opção para seu caso de uso, consulte Introdução ao carregamento de dados.

Consultas

O BigQuery é otimizado para executar consultas analíticas gravadas no GoogleSQL em grandes conjuntos de dados. É possível programar, salvar e compartilhar consultas executadas em dados armazenados no BigQuery, dados externos, dados armazenados em outras nuvens ou conjuntos de dados públicos.

Funções remotas

Você pode usar funções remotas para implantar suas funções em Cloud Functions ou Cloud Run e invocá-los diretamente nas consultas do GoogleSQL. Essa abordagem é especialmente útil se você precisar implementar suas funções em linguagens diferentes de SQL ou JavaScript. É possível usar funções remotas para muitas coisas, como traduzir texto em uma tabela de um idioma para outro, iniciando ações como notificar você quando valores em uma queda de tabela abaixo de um limite ou execução de transformações em lote, como a aplicação de um modelo de machine learning (ML).

Machine learning

É possível usar o BigQuery ML para criar e executar modelos de ML usando consultas do Google SQL.

Procedimentos armazenados em SQL

É possível usar procedimentos armazenados em SQL para chamar coleções de instruções de outras consultas ou procedimentos armazenados. É possível chamar procedimentos armazenados integrados ou criar seus próprios, que permitem definir variáveis e implementar o fluxo de controle.

Dados semiestruturados

É possível usar dados JSON no GoogleSQL para ingerir dados semiestruturados no BigQuery sem fornecer um esquema antecipadamente. Você pode usar o operador de acesso a campos para consultar os valores de campos e elementos de matriz diretamente.

Viagem no tempo

É possível usar a viagem de tempo para acessar os dados armazenados no BigQuery que foram alterados ou excluídos a qualquer momento nos últimos sete dias. Esse recurso permite restaurar tabelas atualizadas, excluídas ou expiradas, mesmo que você não tenha feito backup dos dados.

Snapshots da tabela

Use snapshots de tabelas quando precisar fazer backup da tabela de um ponto no tempo além da janela de viagem no tempo. O BigQuery armazena apenas bytes que são diferentes entre um snapshot e a sua tabela base. Assim, um snapshot da tabela costuma usar menos armazenamento do que uma cópia completa da tabela.

Clones de tabelas

É possível usar clones de tabelas para testar versões de tabelas de versão e teste de esquema. Um clone de tabela é uma cópia leve e gravável de outra tabela. A cobrança é feita apenas pelo armazenamento de dados no clone de tabela que é diferente da tabela base. Portanto, inicialmente não há custo de armazenamento para um clone da tabela.

Tabelas externas

É possível consultar tabelas externas diretamente do BigQuery, como dados em outro banco de dados do Google Cloud, arquivos no Cloud Storage ou produtos de nuvem diferentes. Esse recurso permite executar cargas de trabalho de ELT com uma única consulta ou mesclar tabelas do BigQuery com dados alterados com frequência de outra origem.

Funções definidas pelo usuário

É possível escrever funções definidas pelo usuário (UDFs, na sigla em inglês) no GoogleSQL ou JavaScript que podem ser reutilizadas nas consultas. É possível autorizar uma UDF como uma rotina, o que permite compartilhar resultados de consultas com usuários ou grupos específicos sem conceder a eles acesso às tabelas subjacentes.

APIs BigQuery

O BigQuery oferece APIs REST e gRPC para interagir programaticamente com os diferentes tipos de serviços. É possível autenticar a identidade do cliente para acessar as APIs usando contas de serviço ou contas de usuário. As seguintes APIs estão disponíveis:

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

Biblioteca DataFrames do BigQuery

BigQuery DataFrames é uma API Python que pode ser usada para analisar dados e realizar tarefas de machine learning no BigQuery. Confira o código-fonte da API no GitHub.

Comece a usar o BigQuery DataFrames usando o guia de início rápido do BigQuery DataFrames.

Bibliotecas de cliente

Com as bibliotecas de cliente, você pode acessar as APIs do BigQuery diretamente usando a linguagem de programação que preferir, incluindo C#, Go, Java, Node.js, PHP, Python e Ruby. Para visualizar esses recursos da 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 Bibliotecas de cliente da API do BigQuery.

Amostras de código

Procure exemplos de código do BigQuery que fornecem snippets completos para realizar tarefas comuns no BigQuery, como criar tabelas, listar conexões, ver compromissos de capacidade e reservas e carregar dados. do Google Analytics. Para ver uma amostra, selecione uma API, uma tarefa e o idioma de sua preferência.

Ferramentas e serviços programáticos

Os seguintes serviços são integrados ao BigQuery, oferecendo recursos adicionais para criar soluções:

  • Dataproc. Um serviço totalmente gerenciado para executar jobs do Apache Hadoop e do Apache Spark. O Dataproc fornece o conector do BigQuery, que permite que o Hadoop e o Spark processem dados diretamente do BigQuery.
  • Dataflow. Um serviço totalmente gerenciado para executar jobs do Apache Beam em escala. Com o conector de E/S do BigQuery para Beam (em inglês), os canais do Beam leem e gravam dados a partir do BigQuery.
  • Cloud Composer. Um serviço de orquestração do fluxo de trabalho totalmente gerenciado criado no Apache Airflow. Os operadores do BigQuery permitem que os fluxos de trabalho do Airflow gerenciem conjuntos de dados e tabelas, executem consultas e validem dados.
  • Pub/Sub. Um serviço de mensagens assíncrono e escalonável. O Pub/Sub fornece assinaturas do BigQuery para gravar mensagens em uma tabela atual do BigQuery à medida que elas são recebidas.

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

As opções a seguir ajudam você a gerenciar e automatizar seu fluxo de trabalho de desenvolvedor com o BigQuery:

  • Módulo do BigQuery Terraform. Um módulo para automatizar a instanciação e a implantação de conjuntos de dados e tabelas do BigQuery.
  • Ferramenta de linha de comando bq. Uma ferramenta de linha de comando baseada em Python para o BigQuery.
  • Dataform. Um serviço para analistas de dados desenvolverem, testarem, controlarem versões e programarem fluxos de trabalho SQL complexos para transformação de dados no BigQuery.
  • dbt. Uma estrutura para ajudar a orquestrar e implantar fluxos de trabalho, testar e catalogar dados e reutilizar pedaços de código como macros.
  • Liquibase. Uma solução de gerenciamento de alterações de esquema de banco de dados que permite revisar e lançar alterações de maneira rápida e segura, desde o desenvolvimento até a produção.

drivers ODBC e JDBC

Os drivers Open Database Connectivity (ODBC) e Java Database Connectivity (JDBC) permitem escrever aplicativos de software neutros em linguagens de programação conhecidas para conectar o BigQuery à infraestrutura atual. Para mais informações e as versões mais recentes dos drivers, consulte Drivers ODBC e JDBC para BigQuery.

A seguir