Introdução às origens de dados externas
Esta página oferece uma vista geral da consulta de dados armazenados fora do BigQuery.
Uma origem de dados externa é aquela que pode consultar diretamente a partir do BigQuery, mesmo que os dados não estejam no armazenamento do BigQuery. Por exemplo, pode ter dados numa base de dados Google Cloud diferente, em ficheiros no Cloud Storage ou num produto da nuvem diferente que gostaria de analisar no BigQuery, mas que não está a postos para migrar.
Os exemplos de utilização para origens de dados externas incluem o seguinte:
- Para cargas de trabalho de ELT (extrair, carregar, transformar), carregar e limpar os seus dados
num passe e escrever o resultado limpo no armazenamento do BigQuery
através de uma consulta
CREATE TABLE ... AS SELECT
. - Juntar tabelas do BigQuery com dados que mudam frequentemente de uma origem de dados externa. Quando consulta a origem de dados externa diretamente, não é necessário atualizar os dados para o armazenamento do BigQuery sempre que este é alterado.
O BigQuery tem dois mecanismos diferentes para consultar dados externos: tabelas externas e consultas federadas.
Tabelas externas
As tabelas externas são semelhantes às tabelas padrão do BigQuery, uma vez que armazenam os respetivos metadados e esquema no armazenamento do BigQuery. No entanto, os respetivos dados residem numa fonte externa.
As tabelas externas estão contidas num conjunto de dados e são geridas da mesma forma que uma tabela padrão do BigQuery. Por exemplo, pode ver as propriedades da tabela, definir controlos de acesso e assim sucessivamente. Pode consultar estas tabelas e, na maioria dos casos, pode associá-las a outras tabelas.
Existem quatro tipos de tabelas externas:
- Tabelas do BigLake
- Tabelas do BigQuery Omni
- Tabelas de objetos
- Tabelas externas não pertencentes ao BigLake
Tabelas do BigLake
As tabelas do BigLake permitem-lhe consultar dados estruturados em armazenamentos de dados externos com delegação de acesso. A delegação de acesso desvincula o acesso à tabela do BigLake do acesso ao repositório de dados subjacente. Uma ligação externa associada a uma conta de serviço é usada para estabelecer ligação ao repositório de dados. Uma vez que a conta de serviço processa a obtenção de dados do repositório de dados, só tem de conceder aos utilizadores acesso à tabela do BigLake. Isto permite-lhe aplicar uma segurança detalhada ao nível da tabela, incluindo a segurança ao nível da linha e ao nível da coluna. Para tabelas do BigLake baseadas no Cloud Storage, também pode usar a ocultação de dados dinâmica. Para saber mais sobre as soluções de análise em várias nuvens que usam tabelas do BigLake com dados do Amazon S3 ou Blob Storage, consulte o BigQuery Omni.
Para mais informações, consulte o artigo Introdução às tabelas BigLake.
Tabelas de objetos
As tabelas de objetos permitem-lhe analisar dados não estruturados no Cloud Storage. Pode realizar análises com funções remotas ou realizar inferências através do BigQuery ML e, em seguida, juntar os resultados destas operações com o resto dos seus dados estruturados no BigQuery.
Tal como as tabelas do BigLake, as tabelas de objetos usam a delegação de acesso, o que desvincula o acesso à tabela de objetos do acesso aos objetos do Cloud Storage. Uma associação externa associada a uma conta de serviço é usada para estabelecer ligação ao Cloud Storage, pelo que só tem de conceder aos utilizadores acesso à tabela de objetos. Isto permite-lhe aplicar a segurança ao nível da linha e gerir a que objetos os utilizadores têm acesso.
Para mais informações, consulte o artigo Introdução às tabelas de objetos.
Tabelas externas não pertencentes ao BigLake
As tabelas externas não BigLake permitem-lhe consultar dados estruturados em armazenamentos de dados externos. Para consultar uma tabela externa que não seja do BigLake, tem de ter autorizações para a tabela externa e a origem de dados externa. Por exemplo, para consultar uma tabela externa que não seja do BigLake e que use uma origem de dados no Cloud Storage, tem de ter as seguintes autorizações:
bigquery.tables.getData
bigquery.jobs.create
storage.buckets.get
storage.objects.get
Para mais informações, consulte o artigo Introdução às tabelas externas.
Consultas federadas
As consultas federadas permitem-lhe enviar uma declaração de consulta para bases de dados do AlloyDB, Spanner ou Cloud SQL
e receber o resultado como uma tabela temporária. As consultas federadas usam a API BigQuery Connection para estabelecer uma ligação com o AlloyDB, o Spanner ou o Cloud SQL.
Na sua consulta, usa a função EXTERNAL_QUERY
para enviar uma declaração de consulta para a base de dados externa, usando o dialeto SQL dessa base de dados.
Os resultados são convertidos em tipos de dados GoogleSQL.
Para mais informações, consulte o artigo Introdução às consultas federadas.
Comparação de funcionalidades de origens de dados externas
A tabela seguinte compara o comportamento das origens de dados externas:
Tabelas do BigLake | Tabelas de objetos | Tabelas externas não BigLake | Consultas federadas | |
---|---|---|---|---|
Usa delegação de acesso | Sim, através de uma conta de serviço | Sim, através de uma conta de serviço | Não | Sim, através de uma conta de utilizador da base de dados (apenas no Cloud SQL) |
Pode basear-se em vários URIs de origem | Sim | Sim | Sim (apenas Cloud Storage) | Não aplicável |
Mapeamento de linhas | As linhas representam o conteúdo do ficheiro | As linhas representam os metadados dos ficheiros | As linhas representam o conteúdo do ficheiro | Não aplicável |
Acessíveis por outras ferramentas de tratamento de dados através da utilização de conetores | Sim (apenas Cloud Storage) | Não | Sim | Não aplicável |
Podem ser associadas a outras tabelas do BigQuery | Sim (apenas Cloud Storage) | Sim | Sim | Sim |
Pode ser acedida como uma tabela temporária | Sim (apenas Cloud Storage) | Não | Sim | Sim |
Funciona com o Amazon S3 | Yes | Não | Não | Não |
Funciona com o armazenamento do Azure | Yes | Não | Não | Não |
Compatível com o Bigtable | Não | Não | Yes | Não |
Compatível com o Spanner | Não | Não | Não | Yes |
Funciona com o Cloud SQL | Não | Não | Não | Yes |
Funciona com o Google Drive | Não | Não | Yes | Não |
Funciona com o Cloud Storage | Yes | Yes | Yes | Não |
O que se segue?
- Saiba mais sobre as tabelas do BigLake.
- Saiba mais sobre as tabelas de objetos
- Saiba mais sobre tabelas externas.
- Saiba mais acerca das consultas federadas.
- Saiba mais acerca dos preços do BigQuery.