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.getbigquery.tables.createbigquery.tables.getbigquery.tables.updateDatabigquery.tables.updatebigquery.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.createnecessária. Editor de dados do BigQuery (
roles/bigquery.dataEditor). Esta função predefinida contém as seguintes autorizações necessárias:bigquery.datasets.getbigquery.tables.createbigquery.tables.getbigquery.tables.updateDatabigquery.tables.updatebigquery.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.getstorage.objects.getstorage.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
WHEREdo 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.