A E/S gerida suporta as seguintes capacidades para o BigQuery:
- Criação de tabelas dinâmicas
- Destinos dinâmicos
- Para leituras, o conetor usa a API BigQuery Storage Read.
Para escritas, o conetor usa os seguintes métodos do BigQuery:
- Se a origem não estiver limitada e o Dataflow estiver a usar o processamento de streams exatamente uma vez, o conetor faz gravações no BigQuery através da API Storage Write do BigQuery com semântica de entrega exatamente uma vez.
- Se a origem não estiver limitada e o Dataflow estiver a usar o processamento de streaming pelo menos uma vez, o conetor faz gravações no BigQuery através da API Storage Write do BigQuery com semântica de entrega pelo menos uma vez.
- Se a origem for limitada, o conetor usa carregamentos de ficheiros do BigQuery.
Requisitos
Os seguintes SDKs suportam E/S geridas para o BigQuery:
- Versão 2.61.0 ou posterior do SDK do Apache Beam para Java
- Versão 2.61.0 ou posterior do SDK do Apache Beam para Python
Configuração
A E/S gerida para o BigQuery suporta os seguintes parâmetros de configuração:
BIGQUERY Ler
| Configuração | Tipo | Descrição |
|---|---|---|
| kms_key |
str
|
Use esta chave do Cloud KMS para encriptar os seus dados |
| consulta |
str
|
A consulta SQL a ser executada para ler a partir da tabela do BigQuery. |
| row_restriction |
str
|
Leia apenas as linhas que correspondem a este filtro, que tem de ser compatível com o SQL padrão da Google. Esta opção não é suportada quando a leitura é feita através de uma consulta. |
| campos |
list[str]
|
Ler apenas os campos (colunas) especificados de uma tabela do BigQuery. Os campos podem não ser devolvidos na ordem especificada. Se não for especificado nenhum valor, são devolvidos todos os campos. Exemplo: "col1, col2, col3" |
| tabela |
str
|
O nome totalmente qualificado da tabela do BigQuery a partir da qual ler. Formato: [${PROJECT}:]${DATASET}.${TABLE} |
BIGQUERY Escrever
| Configuração | Tipo | Descrição |
|---|---|---|
| tabela |
str
|
A tabela do BigQuery na qual escrever. Formato: [${PROJECT}:]${DATASET}.${TABLE} |
| diminuir |
list[str]
|
Uma lista de nomes de campos a remover do registo de entrada antes da escrita. É mutuamente exclusivo com "keep" e "only". |
| keep |
list[str]
|
Uma lista de nomes de campos a manter no registo de entrada. Todos os outros campos são ignorados antes da escrita. É mutuamente exclusivo com "drop" e "only". |
| kms_key |
str
|
Use esta chave do Cloud KMS para encriptar os seus dados |
| apenas |
str
|
O nome de um único campo de registo que deve ser escrito. É mutuamente exclusivo com "keep" e "drop". |
| triggering_frequency_seconds |
int64
|
Determina a frequência com que o progresso é "confirmado" no BigQuery. A predefinição é a cada 5 segundos. |
O que se segue?
Para mais informações e exemplos de código, consulte os seguintes tópicos: