O preenchimento no Datastream permite carregar um snapshot de dados históricos dos objetos de origem no destino, além da captura de dados alterados em andamento. É possível iniciar manualmente um preenchimento total ou parcial se você não tiver selecionado Preencher dados históricos ao configurar sua origem. Iniciar um preenchimento também permite ressincronizar objetos de destino se os dados forem excluídos acidentalmente.
Enquanto um stream é executado, é possível monitorar os status dos objetos e interromper um preenchimento ativo a qualquer momento. Interromper uma operação impede que esquemas ou dados corrompidos sejam replicados e permite executar tarefas paralelas uma de cada vez para reduzir a carga de origem.
Status do objeto
Os vários status no ciclo de vida de início e interrupção do preenchimento de um objeto incluem:
Sem status (representado na UI como
-): os motivos para um objeto receber esse status incluem:- O stream não foi iniciado.
- A caixa de seleção Preencher dados históricos não foi marcada (portanto, o preenchimento é definido como manual).
- O objeto é excluído explicitamente para ser preenchido automaticamente.
- O stream está configurado para incluir tabelas futuras. Se isso acontecer, quando novas tabelas forem adicionadas à origem, não haverá uma tarefa de preenchimento automático criada para elas (porque as novas tabelas normalmente não têm dados históricos para preencher).
Pending: o preenchimento ainda não começou para o objeto.Active: o preenchimento está em andamento para o objeto.Completed: o preenchimento foi concluído para o objeto.Stopped: o preenchimento foi interrompido para o objeto. Se o preenchimento for iniciado novamente para o objeto, o Datastream vai transmitir todos os dados atuais associados ao objeto da origem para o destino.Failed: falha no preenchimento do objeto, e o preenchimento precisa ser iniciado novamente.
Iniciar preenchimento
Acesse a página Streams no console do Google Cloud .
Clique no stream que contém os objetos em que você quer iniciar o preenchimento.
Clique na guia Objetos.
Marque a caixa de seleção de cada objeto para iniciar o preenchimento.
Clique em Iniciar preenchimento.
Se você selecionou apenas um objeto, clique em INICIAR PREENCHIMENTO DE OBJETO na caixa de diálogo. Caso contrário, se você tiver selecionado vários objetos, clique em INICIAR PREENCHIMENTOS DE OBJETOS.
O Datastream vai iniciar o preenchimento dos objetos selecionados, e o status de cada objeto vai mudar de
PendingparaActivee, em seguida, paraCompleted. Quando um objeto tem o statusCompleted, isso significa que o Datastream leu todos os dados do objeto, mas os dados ainda podem estar sendo carregados no destino.
Iniciar preenchimento parcial
Além dos preenchimentos completos, é possível realizar um preenchimento parcial para carregar um
subconjunto específico de dados da origem para o destino. Para isso, forneça uma cláusula WHERE do SQL como um filtro personalizado.
O Datastream é compatível com o preenchimento parcial para as seguintes origens:
- SQL Server
- Spanner
- Oracle
- PostgreSQL
- MySQL
Para iniciar um preenchimento parcial:
Acesse a página Streams no console do Google Cloud .
Clique no stream que contém os objetos para os quais você quer iniciar o preenchimento.
Clique na guia Objetos.
Selecione o objeto para o qual você quer iniciar o preenchimento.
Clique em Iniciar preenchimento.
No painel que aparece, marque a caixa de seleção Ativar filtro personalizado.
Insira a cláusula SQL
WHERE. Por exemplo,product_id > 12 AND timestamp = '2025-01-06T22:00:00.00'.Clique em Iniciar preenchimento.
O Datastream valida o filtro. Se a validação falhar, uma mensagem de erro vai aparecer acima do editor. Se a validação for bem-sucedida, o Datastream vai iniciar o job de preenchimento.
Sintaxe de filtro personalizado compatível
Quando você fornece um filtro personalizado, o Datastream oferece suporte a um subconjunto fundamental
da sintaxe da cláusula WHERE do SQL. Os elementos compatíveis incluem:
- Operadores lógicos:
AND,OR - Operadores de comparação:
=,<,>,<=,>=,!= - Condições:
IN,NOT IN,IS NULL,IS NOT NULL - Agrupamento: parênteses
()para definir grupos de condições Valores:
- Strings: texto entre aspas simples, por exemplo,
'value'. - Números: inteiros (
123), decimais (123.45), negativos (-10) e com expoentes (1.2e3). - Valores booleanos: palavras-chave
TRUEouFALSEque diferenciam maiúsculas de minúsculas.
- Strings: texto entre aspas simples, por exemplo,
Identificadores:
- Qualificação: os nomes das colunas podem ser totalmente qualificados usando pontos para especificar
o esquema ou a tabela, por exemplo,
myColumn,myTable.myColumnoumySchema.myTable.myColumn. - Identificadores sem aspas: podem conter letras, números e sublinhados e precisam começar com uma letra ou um sublinhado. A diferenciação de maiúsculas e minúsculas para nomes de colunas ou tabelas depende do banco de dados de destino.
- Identificadores entre aspas duplas: precisam estar entre aspas duplas (
").
- Qualificação: os nomes das colunas podem ser totalmente qualificados usando pontos para especificar
o esquema ou a tabela, por exemplo,
Limitações de preenchimento parcial
Algumas instruções, operadores e palavras-chave são explicitamente proibidos, e o uso deles resulta em um erro. São eles:
- Comentários, como
--ou/* */. - Funções, por exemplo,
UPPER(column)eNOW(). - Expressões aritméticas, por exemplo,
column + 1 > 10. - O operador
LIKE. Caracteres curinga como%ou_não são compatíveis comLIKE. - O operador
BETWEEN. Use>=e<=. - Subconsultas, por exemplo,
(SELECT ...)na cláusulaWHERE. CASE, por exemplo,CASE WHEN ... END.- Comparações de colunas, como
column1 = column2. As comparações precisam ser feitas com literais. - Tipos ou funções específicos de
DATEeTIME. - Operadores específicos de matriz ou JSON.
- Conversão explícita: por exemplo,
CAST(column AS INT).
Parar preenchimento
Acesse a página Streams no console do Google Cloud .
Clique no stream que contém objetos com o preenchimento que você quer interromper.
Clique na guia Objetos.
Marque a caixa de seleção de cada objeto que você quer interromper o preenchimento.
Clique em Interromper preenchimento.
Se você selecionou apenas um objeto, clique em Interromper preenchimento do objeto na caixa de diálogo. Caso contrário, se você tiver selecionado vários objetos, clique em Interromper preenchimentos de objetos.
O Datastream vai interromper o preenchimento dos objetos selecionados, e o status de cada objeto vai mudar para
Stopped.Quando um objeto tem esse status, o preenchimento é interrompido para ele. Se o preenchimento for iniciado novamente para o objeto, o Datastream vai fazer streaming de todos os dados atuais associados ao objeto da origem para o destino.
A seguir
- Para saber mais sobre streams, consulte Ciclo de vida do stream.
- Para saber como ver informações sobre o stream, consulte Ver um stream.
- Para saber como modificar um stream, consulte Modificar um stream.
- Para saber como monitorar um stream, consulte Monitorar um stream.
- Para saber como recuperar um stream com falha, consulte Recuperar um stream.