Opções do conector para a cláusula WITH ao usar o Realtime Compute for Apache Flink com Hologres no Ververica Runtime (VVR) 8.0.x ou versões anteriores.
Referência rápida de versões
A tabela a seguir resume as opções introduzidas em versões menores específicas do VVR. As opções não listadas aqui estão disponíveis em todas as versões VVR 8.0.x.
|
Opção |
Versão mínima |
|
|
VVR 8.0.5 |
|
|
VVR 8.0.5 |
|
|
VVR 8.0.5 + Hologres V2.1 |
|
|
VVR 8.0.5 |
|
|
VVR 8.0.5 |
|
|
VVR 8.0.6 |
|
|
VVR 8.0.6 |
|
|
VVR 8.0.8 |
|
|
VVR 8.0.8 |
|
|
VVR 8.0.11 |
|
|
VVR 8.0.11 |
|
|
VVR 8.0.11 |
|
|
VVR 8.0.11 |
Opções do conector na cláusula WITH
Geral
As opções abaixo se aplicam a tabelas de source, tabelas de destino e tabelas de dimensão.
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Sim |
— |
Defina como |
|
|
String |
Sim |
— |
Nome do banco de dados. Para conectar-se a um virtual warehouse, adicione |
|
|
String |
Sim |
— |
Nome da tabela. Se o schema não for |
|
|
String |
Sim |
— |
AccessKey ID da sua conta Alibaba Cloud ou usuário RAM, ou nome de usuário de conta personalizada no formato |
|
|
String |
Sim |
— |
AccessKey secret da sua conta Alibaba Cloud ou usuário RAM, ou senha da sua conta personalizada. |
|
|
String |
Sim |
— |
Endpoint do Hologres. Consulte Endpoints. |
|
|
String |
Não |
|
Modo SSL. Valores válidos: |
|
|
String |
Não |
— |
Caminho do arquivo de certificado CA. Obrigatório quando |
|
|
Integer |
Não |
|
Número máximo de tentativas após falha de conexão durante leitura ou gravação de dados. |
|
|
Long |
Não |
|
Componente fixo do tempo de espera por tentativa, em milissegundos. O tempo real de espera é |
|
|
Long |
Não |
|
Componente incremental do tempo de espera por tentativa, em milissegundos. O tempo real de espera é |
|
|
Long |
Não |
|
Duração máxima de ociosidade para uma conexão JDBC, em milissegundos. Conexões ociosas que excederem esse valor serão fechadas e liberadas. |
|
|
Long |
Não |
|
Tempo máximo para manter informações de |
|
|
Integer |
Não |
|
Controla quando uma atualização de cache é acionada. O limiar de atualização automática é |
|
|
Boolean |
Não |
Ver descrição |
Base de fuso horário para conversões entre tipos de tempo do Flink e do Hologres. |
|
|
Integer |
Não |
|
Versão das opções do conector. Defina como |
Específicas de source
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Não |
|
Delimitador entre linhas durante a exportação de dados. |
|
|
Boolean |
Não |
Ver descrição |
Indica se deve consumir dados de log binário. O padrão é |
|
|
String |
Não |
|
Modo SDK para consumo de log binário. |
|
|
String |
Não |
— |
Nome do slot da tabela de source de log binário no modo JDBC. Tem efeito apenas quando |
|
|
Integer |
Não |
|
Número de tentativas após falha na leitura de dados de log binário. |
|
|
Long |
Não |
|
Intervalo entre tentativas após falha na leitura de dados de log binário, em milissegundos. |
|
|
Integer |
Não |
|
Quantidade de linhas lidas do log binário por lote. |
|
|
Boolean |
Não |
Ver descrição |
Define se a leitura de dados de log binário ocorre no modo Change Data Capture (CDC). O padrão é |
|
|
Boolean |
Não |
|
Aplicável apenas no modo CDC. |
|
|
String |
Não |
|
Modo de consumo do log binário. |
|
|
String |
Não |
— |
Horário inicial para consumo de dados do Hologres. Formato: |
|
|
Integer |
Não |
|
Quantidade de registros armazenados em buffer por lote durante uma operação de varredura. |
|
|
Integer |
Não |
|
Tempo limite para uma operação de varredura, em segundos. |
|
|
Integer |
Não |
|
Tempo limite da transação que contém a operação de varredura, em segundos. Corresponde ao parâmetro GUC do Hologres |
|
|
Boolean |
Não |
|
Indica se as condições de filtro devem ser delegadas ao Hologres durante a fase de leitura completa de dados. Aplica-se à leitura de tabelas de source com log binário desativado ou durante a fase de dados completos do consumo de log binário. Requer VVR 6.0.7 ou posterior. |
|
|
Enum |
Não |
|
Modo para consumo de logs binários de uma tabela particionada. |
|
|
Integer |
Não |
|
Latência máxima permitida antes do tempo limite no modo de partição dinâmica, em minutos. O conector continua monitorando a partição anterior após alternar para a mais recente, para capturar dados atrasados. Não pode exceder a unidade de tempo do particionamento — para uma tabela particionada por dia, o máximo é 1.440 minutos (24 × 60). |
|
|
String |
Não |
— |
Partições a serem consumidas no modo de partição estática. Especifique os valores das partições (não os nomes completos), separados por vírgulas. Se não definido, todas as partições serão consumidas. Expressões regulares não são suportadas. |
Específicas de destino
Modos de gravação
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Não |
|
Modo SDK para gravação de dados. |
|
|
Boolean |
Não |
|
Define se a gravação ocorre em modo de carga em massa. Tem efeito apenas quando |
|
|
String |
Não |
Ver descrição |
Define como lidar com registros duplicados. |
|
|
Boolean |
Não |
|
Indica se os dados devem ser gravados em uma tabela particionada. |
|
|
Boolean |
Não |
|
Define se as partições devem ser criadas automaticamente com base nos valores recebidos. No modo RPC, a criação automática falha se os valores contiverem hifens ( |
Buffer e flush
O operador de destino armazena registros em buffer e realiza o flush para o Hologres quando qualquer uma das seguintes condições for atendida:
A quantidade de registros em buffer atingir
jdbcWriteBatchSize.O tamanho total dos registros em buffer atingir
jdbcWriteBatchByteSize.O tempo desde o último flush atingir
jdbcWriteFlushInterval.
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
Integer |
Não |
|
Quantidade máxima de registros a serem armazenados em buffer antes do flush, em linhas. |
|
|
Long |
Não |
|
Tamanho total máximo dos registros em buffer antes do flush, em bytes. |
|
|
Long |
Não |
|
Tempo máximo de espera antes de realizar o flush dos registros em buffer, em milissegundos. |
|
|
Boolean |
Não |
|
Define se os registros devem ser deduplicados no buffer antes do flush. Quando ativado, apenas o registro mais recente de cada chave primária é mantido. Requer VVR 8.0.5 ou posterior. |
Tratamento de nulos e dados
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
Boolean |
Não |
|
Define se valores nulos devem ser ignorados ao gravar com |
|
|
Boolean |
Não |
|
Define se um valor padrão deve ser substituído quando um nulo for gravado em uma coluna não nula sem padrão configurado. Quando |
|
|
Boolean |
Não |
|
Define se caracteres |
|
|
Boolean |
Não |
|
Define se apenas os campos declarados na instrução INSERT devem ser gravados. |
Tratamento de exclusão
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Não |
— |
Estratégia para processar mensagens de retração. |
Atualização condicional
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Não |
— |
Habilita o recurso de atualização condicional. Defina como o nome do campo a ser verificado. Requisitos: chave primária na tabela de destino, |
|
|
String |
Não |
|
Operador de comparação para a atualização condicional. O campo de verificação do novo registro é comparado com o do registro existente; a atualização prossegue se a comparação for verdadeira. Valores válidos: |
|
|
String |
Não |
— |
Define como tratar valores nulos no registro existente durante uma atualização condicional. No PostgreSQL, comparar qualquer valor com NULL retorna FALSE. Configure esta opção para especificar o valor substituto, equivalente à função COALESCE. Requer VVR 8.0.11 ou posterior. |
Pool de conexões
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
Integer |
Não |
|
Tamanho do pool de conexões JDBC para o job. Aumente este valor se o job apresentar baixo throughput. |
|
|
String |
Não |
— |
Nome do pool de conexões. Tabelas com o mesmo nome de pool no mesmo TaskManager compartilham um único pool. Defina como qualquer string diferente de |
|
|
Boolean |
Não |
|
Define se um commit deve ser forçado durante períodos de ociosidade da conexão, mesmo que nenhuma condição de flush tenha sido atendida. Reduz a latência de gravação sob tráfego baixo. Suportado quando |
Opções obsoletas
As opções a seguir estão obsoletas. Utilize as opções de substituição indicadas.
|
Opção |
Substituição |
Observações |
|
|
|
Definir |
|
|
|
Tem efeito apenas quando |
Específicas de tabela de dimensão
Modo SDK e conexão
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Não |
|
Modo SDK para consulta de dados. |
|
|
Boolean |
Não |
|
Define se a consulta deve usar RPC. Definir como |
|
|
Integer |
Não |
|
Tamanho do pool de conexões JDBC. Aumente este valor se o job apresentar baixo throughput. |
|
|
String |
Não |
— |
Nome do pool de conexões. Comportamento idêntico ao das tabelas de destino — consulte a opção |
Lote e varredura
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
Integer |
Não |
|
Quantidade máxima de registros por lote para consultas pontuais. |
|
|
Integer |
Não |
|
Quantidade máxima de solicitações enfileiradas por thread para consultas pontuais. |
|
|
Long |
Não |
|
Tempo limite para consultas pontuais, em milissegundos. |
|
|
Integer |
Não |
|
Número de tentativas quando uma consulta pontual atinge o tempo limite. Difere de |
|
|
Integer |
Não |
|
Quantidade de registros por lote durante uma operação de varredura em junções um-para-muitos (sem chave primária completa). |
|
|
Integer |
Não |
|
Tempo limite para uma operação de varredura, em segundos. |
Cache
|
Opção |
Tipo de dados |
Obrigatório |
Padrão |
Descrição |
|
|
String |
Não |
|
Política de cache. |
|
|
Integer |
Não |
|
Quantidade máxima de linhas a serem armazenadas em cache. Aplica-se apenas quando |
|
|
Long |
Não |
— |
Tempo limite do cache, em milissegundos. Quando |
|
|
Boolean |
Não |
|
Define se consultas JOIN que retornam resultados vazios devem ser armazenadas em cache. |
|
|
Boolean |
Não |
|
Define se os resultados das consultas devem ser retornados de forma assíncrona. Quando |
Fusos horários do Realtime Compute for Apache Flink e Hologres
Tipos de tempo
|
Serviço |
Tipo |
Descrição |
|
Flink |
TIMESTAMP |
Data e hora sem fuso horário. Representado como string, por exemplo, |
|
Flink |
TIMESTAMP_LTZ |
Um ponto absoluto no tempo. Armazenado como LONG (milissegundos desde a época) ou INT (nanossegundos dentro dos milissegundos). A época é 00:00:00 UTC em 1º de janeiro de 1970. Interpretado e exibido com base no fuso horário da sessão, portanto o mesmo valor aparece como horários locais diferentes em fusos distintos — por exemplo, |
|
Hologres |
TIMESTAMP |
Data e hora sem fuso horário, semelhante ao TIMESTAMP do Flink. O valor não muda quando o fuso horário do cliente Hologres é alterado. |
|
Hologres |
TIMESTAMPTZ |
Data e hora com fuso horário, semelhante ao TIMESTAMP_LTZ do Flink. Armazenado como UTC; convertido para o fuso horário do cliente quando consultado. |
Mapeamentos de fuso horário
Com type-mapping.timestamp-converting.legacy=false (VVR 8.0.6 ou posterior), todas as conversões de tipo entre Flink e Hologres são suportadas sem desvio de dados.
|
Tipo Flink |
Tipo Hologres |
Comportamento |
|
TIMESTAMP |
TIMESTAMP |
Sem conversão de fuso horário. Recomendado para leitura e gravação no Hologres. |
|
TIMESTAMP_LTZ |
TIMESTAMPTZ |
— |
|
TIMESTAMP |
TIMESTAMPTZ |
A conversão de fuso horário é realizada. Defina o fuso horário do Flink usando |
|
TIMESTAMP_LTZ |
TIMESTAMP |
A conversão de fuso horário é realizada. |
Com type-mapping.timestamp-converting.legacy=true (VVR 8.0.6 ou posterior) ou no VVR 8.0.5 e anteriores, pode ocorrer desvio de dados em conversões que não sejam de TIMESTAMP para TIMESTAMP.
|
Tipo Flink |
Tipo Hologres |
Comportamento |
|
TIMESTAMP |
TIMESTAMP |
Sem conversão de fuso horário. Recomendado. |
|
TIMESTAMP_LTZ |
TIMESTAMPTZ |
Pode ocorrer desvio de dados. Dados TIMESTAMP_LTZ são tratados como horário sem fuso horário durante a gravação. Por exemplo, |
|
TIMESTAMP |
TIMESTAMPTZ |
Pode ocorrer desvio de dados se o fuso horário do Flink diferir do fuso horário da JVM. As conversões utilizam o fuso horário da JVM, não o do Flink. |
|
TIMESTAMP_LTZ |
TIMESTAMP |
— |