Com o plug-in de origem do BigQuery, você conecta e carrega dados de tabelas do BigQuery. Os dados de uma tabela do BigQuery são exportados para um local temporário no Cloud Storage e, em seguida, lidos no pipeline.
Antes de começar
O Cloud Data Fusion normalmente tem duas contas de serviço:
- Conta de serviço do tempo de design: agente de serviço da API Cloud Data Fusion
- Conta de serviço do ambiente de execução: conta de serviço do Compute Engine
Antes de usar o plug-in de origem em lote do BigQuery, conceda os papéis ou permissões a seguir a cada conta de serviço.
Agente de serviço da API Cloud Data Fusion
Essa conta de serviço já tem todas as permissões necessárias, e você não precisa adicionar outras permissões. Para referência, ele tem as seguintes permissões:
bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.updateData
bigquery.tables.update
bigquery.tables.export
Se você estiver usando uma conta de serviço de namespace, além da conta de serviço de tempo de design padrão, adicione a ela as permissões da lista anterior.
Conta de serviço do Compute Engine
No projeto do Google Cloud, conceda os seguintes papéis ou permissões do IAM à conta de serviço do Compute Engine:
- Usuário de jobs do BigQuery (
roles/bigquery.jobUser
). Esse papel predefinido contém a permissãobigquery.jobs.create
necessária. Editor de dados do BigQuery (
roles/bigquery.dataEditor
). Esse papel predefinido contém as permissões necessárias a seguir:bigquery.datasets.get
bigquery.tables.create
bigquery.tables.get
bigquery.tables.updateData
bigquery.tables.update
bigquery.tables.export
Esses papéis e permissões também podem ser atribuídos no conjunto de dados ou na tabela do BigQuery, dependendo do seu caso de uso.
Gravador de bucket legado do Storage (
roles/storage.legacyBucketWriter
). Este papel predefinido contém as seguintes permissões necessárias:storage.buckets.get
storage.objects.get
storage.objects.list
Esse papel e essas permissões também podem ser atribuídos no bucket do Cloud Storage, dependendo do caso de uso.
Configurar o plug-in
- Acesse a interface da Web do Cloud Data Fusion e clique em Studio.
- Verifique se Pipeline de dados - Lote está selecionado (não em Tempo real).
- No menu Origem, clique em BigQuery. O nó do BigQuery é exibido no pipeline.
- Para configurar a origem, acesse o nó do BigQuery e clique em Propriedades.
Insira as seguintes propriedades. Para ver uma lista completa, consulte Propriedades.
- Insira um Rótulo para o nó do BigQuery. Por
exemplo,
BigQuery tables
. Digite os detalhes da conexão. É possível configurar uma conexão única ou uma atual reutilizável.
Nova conexão
Para adicionar uma conexão única ao BigQuery, siga estas etapas:
- No campo ID do projeto, deixe o valor como detecção automática.
- Se o conjunto de dados do BigQuery estiver em um projeto diferente, digite o ID no campo ID do projeto do conjunto de dados.
No campo Tipo de conta de serviço, escolha uma das opções a seguir e insira o conteúdo no próximo campo:
- Caminho do arquivo
- JSON
Conexão reutilizável
Para reutilizar uma conexão existente, siga estas etapas:
- Ative a opção Usar conexão.
- Clique em Procurar conexões.
Clique no nome da conexão, por exemplo, BigQuery Default.
Opcional: se não houver uma conexão e você quiser criar uma nova conexão reutilizável, clique em Adicionar conexão e consulte as etapas na guia Nova conexão nesta página.
No campo Nome de referência, digite um nome para usar na linhagem.
Opcional: se o conjunto de dados já estiver disponível na instância, clique em Procurar e selecione os dados a serem lidos.
No campo Conjunto de dados, digite o nome do conjunto de dados que contém a tabela.
No campo Tabela, insira o nome da tabela.
Para testar a conectividade, clique em Usar esquema.
Opcional: no campo Data de início da partição, insira a string de data de início inclusiva. Por exemplo,
2021-01-11
.Opcional: no campo Data de término da partição, insira a string da data de término inclusiva. Por exemplo,
2024-01-11
.Opcional: no campo Filtro, insira uma cláusula
WHERE
do BigQuery.Opcional: no campo Nome do bucket temporário, insira um nome para o bucket do Cloud Storage.
Opcional: no campo Nome da chave de criptografia, insira o nome da chave de criptografia do Cloud Key Management Service (Cloud KMS). Para mais informações, consulte Ver o nome do recurso para a chave.
Opcional: ative a opção Ativar visualizações de consulta. Se você ativá-los, faça o seguinte:
- No campo Projeto de criação de tabela temporária, insira o nome do projeto em que a tabela temporária foi criada.
- No campo Conjunto de dados de criação de tabela temporária, insira o nome do conjunto de dados em que a tabela temporária foi criada.
Opcional: clique em Validar e corrija os erros encontrados.
Clique em
Fechar. As propriedades são salvas e você pode continuar criando seu pipeline de dados na interface da Web do Cloud Data Fusion.
- Insira um Rótulo para o nó do BigQuery. Por
exemplo,
Propriedades
Propriedade | Macro ativada | Propriedade obrigatória | Descrição |
---|---|---|---|
Rótulo | Não | Sim | O nome do nó no pipeline de dados. |
Usar conexão | Não | Não | Procure uma conexão reutilizável com a origem. Para mais informações sobre como adicionar, importar e editar as conexões que aparecem quando você procura conexões, consulte Gerenciar conexões. |
Conexão | Sim | Sim | Se a opção Usar conexão estiver ativada, o nome da conexão reutilizável selecionada será exibido nesse campo. |
ID do projeto | Sim | Não | Usado somente quando a opção Usar conexão está desativada. Um identificador globalmente exclusivo para o projeto em que o job do BigQuery é executado. O padrão é auto-detect . |
ID do projeto do conjunto de dados | Sim | Não | Usado somente quando a opção Usar conexão estiver desativada. Se o conjunto de dados estiver em um projeto diferente daquele em que o job do BigQuery é executado, esse valor será o identificador globalmente exclusivo do projeto com o conjunto de dados do BigQuery. Se nenhum valor for fornecido, o padrão do campo será o ID do projeto. O papel Leitor de dados do BigQuery precisa ser concedido à conta de serviço especificada para ler os dados do BigQuery no projeto. |
Tipo de conta de serviço | Sim | Não | Selecione uma destas opções:
|
Em Service account file path, digite o caminho do arquivo da conta de serviço. | Sim | Não | Usado somente quando o valor do tipo de conta de serviço é File path. O caminho no sistema de arquivos local da chave da conta de serviço
usada para autorização. Se os jobs forem executados em clusters do Dataproc,
defina o valor como detecção automática. Se os jobs forem executados em outros tipos de clusters, o
arquivo precisará estar presente em todos os nós do cluster. O padrão é auto-detect . |
JSON da conta de serviço | Sim | Não | Usado somente quando o valor do tipo de conta de serviço é JSON. O conteúdo do arquivo JSON da conta de serviço. |
Nome de referência | Não | Sim | Nome que identifica exclusivamente essa fonte para outros serviços, como linhagem e anotação de metadados. |
Conjunto de dados | Sim | Sim | O conjunto de dados ao qual a tabela pertence. Um conjunto de dados está contido em um projeto específico. Conjuntos de dados são contêineres de nível superior que organizam e controlam o acesso a tabelas e visualizações. |
Tabela | Sim | Sim | A tabela a ser lida. Uma tabela contém registros individuais organizados em linhas. Cada registro é formado por colunas, também chamadas de campos. Cada tabela é definida por um esquema que descreve os nomes, tipos de dados e outras informações das colunas. |
Data de início da partição | Sim | Não | Data de início da partição inclusiva, especificada como yyyy-mm-dd . Se nenhum valor for atribuído, todas as partições até a data de término da partição serão lidas. |
Data de término da partição | Sim | Não | Data de término da partição exclusiva, especificada como yyyy-mm-dd . Se nenhum valor for atribuído, todas as partições acima da data de início da partição serão lidas. |
Filtrar | Sim | Não | Uma consulta SQL que filtra as condições fornecidas. Por exemplo, esta
consulta retorna todas as linhas da tabela Roster em que a coluna
SchoolID tem o valor SchoolID > 52 :SELECT * FROM Roster WHERE SchoolID > 52; . Isso é igual à
cláusula WHERE no
BigQuery. |
Nome do bucket temporário | Sim | Não | O bucket do Cloud Storage para armazenamento de dados temporário. Ele será criado automaticamente se não existir. Os dados temporários são excluídos depois da leitura. Se um nome não for fornecido, um bucket exclusivo será criado e, em seguida, excluído após o término da execução. |
Nome da chave de criptografia | Sim | Não | Chave que criptografa os dados gravados em qualquer bucket criado pelo plug-in. Se o bucket existir, esse valor será ignorado. Para mais informações, consulte a CMEK. |
Ativar visualizações de consulta | Sim | Não | Define se as visualizações lógicas e materializadas do BigQuery serão permitidas. Como as visualizações do BigQuery não estão ativadas por
padrão, fazer consultas nelas pode ter sobrecarga de desempenho. O padrão é Não. |
Projeto de criação de tabela temporária | Sim | Não | Usado apenas quando a opção Ativar visualizações de consulta está ativada. O nome do projeto em que a tabela temporária será criada. O padrão é o mesmo projeto em que a tabela está. |
Conjunto de dados de criação de tabela temporária | Sim | Não | O conjunto de dados no projeto especificado em que a tabela temporária precisa ser criada. O padrão é o mesmo conjunto de dados em que a tabela está. |
Esquema de saída | Sim | Sim | Esquema da tabela a ser lida. Para buscá-lo, clique em Ver esquema. |
Mapeamentos de tipo de dados
Confira na tabela a seguir uma lista dos tipos de dados do BigQuery com os tipos de CDAP correspondentes.
Tipo de dados do BigQuery | Tipo de dados do esquema do 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
A seguir
- Saiba mais sobre plug-ins no Cloud Data Fusion.