O plug-in de origem do BigQuery permite-lhe estabelecer ligação e carregar dados de tabelas do BigQuery. Os dados de uma tabela do BigQuery são exportados para uma localização temporária no Cloud Storage e, em seguida, lidos para o pipeline a partir dessa localização.
Antes de começar
Normalmente, o Cloud Data Fusion tem duas contas de serviço:
- Conta de serviço de tempo de conceção: Agente do serviço da API Cloud Data Fusion
- Conta de serviço do tempo de execução: Conta de serviço do Compute Engine
Antes de usar o plug-in de origem em lote do BigQuery, conceda as seguintes funções ou autorizações a cada conta de serviço.
Agente de serviço da API Cloud Data Fusion
Esta conta de serviço já tem todas as autorizações necessárias e não precisa de adicionar autorizações adicionais. Como referência, tem as seguintes autorizações:
bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.updateData
bigquery.tables.update
bigquery.tables.export
Se estiver a usar uma conta de serviço de espaço de nomes, além da conta de serviço de tempo de design predefinida, adicione-lhe as autorizações da lista anterior.
Conta de serviço do Compute Engine
No seu Google Cloud projeto, conceda as seguintes funções ou autorizações do IAM à conta de serviço do Compute Engine:
- Utilizador de tarefas do BigQuery (
roles/bigquery.jobUser
). Esta função predefinida contém a autorizaçãobigquery.jobs.create
necessária. Editor de dados do BigQuery (
roles/bigquery.dataEditor
). Esta função predefinida contém as seguintes autorizações necessárias:bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.updateData
bigquery.tables.update
bigquery.tables.export
Estas funções e autorizações também podem ser atribuídas no conjunto de dados ou na tabela do BigQuery, consoante o seu exemplo de utilização.
Storage Legacy Bucket Writer (
roles/storage.legacyBucketWriter
). Esta função predefinida contém as seguintes autorizações necessárias:storage.buckets.get
storage.objects.get
storage.objects.list
Esta função e estas autorizações também podem ser atribuídas no contentor do Cloud Storage, consoante o seu exemplo de utilização.
Configure o plug-in
- Aceda à interface Web do Cloud Data Fusion e clique em Studio.
- Verifique se a opção Data Pipeline - Batch está selecionada (e não Tempo Real).
- No menu Origem, clique em BigQuery. O nó do BigQuery é apresentado no pipeline.
- Para configurar a origem, aceda ao nó do BigQuery e clique em Propriedades.
Introduza as seguintes propriedades. Para ver uma lista completa, consulte as Propriedades.
- Introduza uma Etiqueta para o nó do BigQuery, por exemplo,
BigQuery tables
. Introduza os detalhes da associação. Pode configurar uma nova associação única ou uma associação existente reutilizável.
Nova associação
Para adicionar uma ligação única ao BigQuery, siga estes passos:
- No campo ID do projeto, mantenha o valor como deteção automática.
- Se o conjunto de dados do BigQuery estiver num projeto diferente, no campo ID do projeto do conjunto de dados, introduza o ID.
No campo Tipo de conta de serviço, escolha uma das seguintes opções e introduza o conteúdo no campo seguinte:
- Caminho do ficheiro
- JSON
Ligação reutilizável
Para reutilizar uma associação existente, siga estes passos:
- Ative a opção Usar ligação.
- Clique em Procurar associações.
Clique no nome da associação, por exemplo, BigQuery predefinido.
Opcional: se não existir uma associação e quiser criar uma nova associação reutilizável, clique em Adicionar associação e consulte os passos no separador Nova associação nesta página.
No campo Nome de referência, introduza um nome a usar para a linhagem.
Opcional: se o conjunto de dados já estiver disponível na sua instância, clique em Procurar e selecione os dados a ler.
No campo Conjunto de dados, introduza o nome do conjunto de dados que contém a tabela.
No campo Tabela, introduza o nome da tabela.
Para testar a conetividade, clique em Obter esquema.
Opcional: no campo Data de início da partição, introduza a string de data de início inclusiva, por exemplo,
2021-01-11
.Opcional: no campo Data de fim da partição, introduza a string de data de fim inclusiva, por exemplo,
2024-01-11
.Opcional: no campo Filtro, introduza uma cláusula
WHERE
do BigQuery.Opcional: no campo Nome do contentor temporário, introduza um nome para o contentor do Cloud Storage.
Opcional: no campo Nome da chave de encriptação, introduza o nome da chave de encriptação do Cloud Key Management Service (Cloud KMS). Para mais informações, consulte o artigo Obtenha o nome do recurso para a chave.
Opcional: ative a opção Ativar consulta de vistas. Se as ativar, faça o seguinte:
- No campo Projeto de criação de tabelas temporárias, introduza o nome do projeto onde a tabela temporária é criada.
- No campo Conjunto de dados de criação de tabelas temporárias, introduza o nome do conjunto de dados onde a tabela temporária é criada.
Opcional: clique em Validar e resolva os erros encontrados.
Clique em
Fechar. As propriedades são guardadas e pode continuar a criar o seu pipeline de dados na interface Web do Cloud Data Fusion.
- Introduza uma Etiqueta para o nó do BigQuery, por exemplo,
Propriedades
Propriedade | O modo macro está ativado | Propriedade obrigatória | Descrição |
---|---|---|---|
Etiqueta | Não | Sim | O nome do nó no pipeline de dados. |
Usar ligação | Não | Não | Procure uma associação reutilizável à origem. Para mais informações sobre como adicionar, importar e editar as associações que aparecem quando procura associações, consulte o artigo Faça a gestão das associações. |
Ligação | Sim | Sim | Se a opção Usar associação estiver ativada, o nome da associação reutilizável que selecionar aparece neste campo. |
ID do projeto | Sim | Não | Usado apenas quando a opção Usar ligação está desativada. Um identificador globalmente
exclusivo para o projeto onde a tarefa do BigQuery
é executada. O valor predefinido é auto-detect . |
ID do projeto do conjunto de dados | Sim | Não | Usado apenas quando a opção Usar ligação está desativada. Se o conjunto de dados estiver num projeto diferente daquele em que a tarefa do BigQuery é executada, este valor é o identificador globalmente único do projeto com o conjunto de dados do BigQuery. Se não for indicado nenhum valor, o campo assume o valor predefinido do ID do projeto. A função de visualizador de dados do BigQuery tem de ser concedida à conta de serviço especificada para ler dados do BigQuery no projeto. |
Tipo de conta de serviço | Sim | Não | Selecione uma das seguintes opções:
|
Caminho do ficheiro da conta de serviço | Sim | Não | Usado apenas quando o valor do tipo de conta de serviço é Caminho
do ficheiro. O caminho no sistema de ficheiros local da chave da conta de serviço
usada para autorização. Se os trabalhos forem executados em clusters do Dataproc,
defina o valor como deteção automática. Se as tarefas forem executadas noutros tipos de clusters, o ficheiro
tem de estar presente em todos os nós do cluster. A predefinição é auto-detect . |
JSON da conta de serviço | Sim | Não | Usado apenas quando o valor do tipo de conta de serviço é JSON. O conteúdo do ficheiro JSON da conta de serviço. |
Nome de referência | Não | Sim | Nome que identifica exclusivamente esta origem para outros serviços, como a linhagem e a anotação de metadados. |
Conjunto de dados | Sim | Sim | O conjunto de dados ao qual a tabela pertence. Um conjunto de dados está contido num projeto específico. Os conjuntos de dados são contentores de nível superior que organizam e controlam o acesso a tabelas e vistas. |
Tabela | Sim | Sim | A tabela a partir da qual ler. Uma tabela contém registos individuais organizados em linhas. Cada registo é composto por colunas (também denominadas campos). Todas as tabelas são definidas por um esquema que descreve os nomes das colunas, os tipos de dados e outras informações. |
Data de início da partição | Sim | Não | Data de início da partição inclusiva, especificada como yyyy-mm-dd . Se não for indicado nenhum valor, são lidas todas as partições até à data de fim da partição. |
Data de fim da partição | Sim | Não | Data de fim da partição exclusiva, especificada como yyyy-mm-dd . Se não for indicado nenhum valor, são lidas todas as partições a partir da data de início da partição. |
Filtro | Sim | Não | Uma consulta SQL que filtra as condições indicadas. Por exemplo, esta consulta devolve todas as linhas da tabela Roster em que a coluna SchoolID tem o valor SchoolID > 52 :SELECT * FROM Roster WHERE SchoolID > 52; . Isto é o mesmo que a cláusula WHERE no BigQuery. |
Nome do segmento temporário | Sim | Não | O contentor do Cloud Storage para armazenamento de dados temporários. É criado automaticamente se não existir. Os dados temporários são eliminados após serem lidos. Se não for fornecido um nome, é criado um contentor único e, em seguida, eliminado após a conclusão da execução. |
Nome da chave de encriptação | Sim | Não | Chave que encripta os dados escritos em qualquer contentor criado pelo plug-in. Se o recipiente existir, este valor é ignorado. Para mais informações, consulte o artigo CMEK. |
Ative a consulta de visualizações | Sim | Não | Se deve permitir vistas lógicas e materializadas do BigQuery. Uma vez que as vistas do BigQuery não estão ativadas por predefinição, a consulta das mesmas pode ter um custo de desempenho. A predefinição é Não. |
Projeto de criação de tabelas temporárias | Sim | Não | Usado apenas quando a opção Ativar consultas de visualizações está ativada. O nome do projeto onde a tabela temporária deve ser criada. A predefinição é o mesmo projeto em que a tabela se encontra. |
Conjunto de dados de criação de tabelas temporárias | Sim | Não | O conjunto de dados no projeto especificado onde a tabela temporária deve ser criada. Predefinição para o mesmo conjunto de dados em que a tabela se encontra. |
Esquema de saída | Sim | Sim | Esquema da tabela a ler. Pode obtê-lo clicando em Obter esquema. |
Mapeamentos de tipos de dados
A tabela seguinte é uma lista de tipos de dados do BigQuery com os tipos de dados do CDAP correspondentes.
Tipo de dados do BigQuery | Tipo de dados do esquema CDAP |
---|---|
BOOL |
boolean |
BYTES |
bytes |
DATE |
date |
DATETIME |
datetime, string |
FLOAT64 |
double |
GEO |
unsupported |
INT64 |
long |
NUMERIC |
decimal |
BIGNUMERIC |
decimal |
REPEATED |
array |
STRING |
string , datetime (formato ISO 8601) |
STRUCT |
record |
TIME |
time (microssegundos) |
TIMESTAMP |
timestamp (microssegundos) |
JSON |
unsupported |
Notas de lançamento
O que se segue?
- Saiba mais sobre os plug-ins no Cloud Data Fusion.