O conector Blackhole funciona como o /dev/null no Unix: ele aceita todos os registros de entrada e os descarta silenciosamente. Utilize-o para isolar se um problema no seu job Flink SQL origina-se da configuração do sink ou da lógica de processamento upstream.
Este conector suporta os modos batch e streaming, além de permitir atualizações e exclusões de dados na tabela sink.
Casos de uso
Isolamento de erros de configuração do sink: Caso uma tabela sink com outro tipo de conector apresente erro e haja dúvida se a causa é um problema sistêmico ou um parâmetro inválido na cláusula WITH, altere o valor de
connectorparablackholee clique em Validate no canto superior direito da aba Drafts. Se nenhum erro for exibido, o sistema está íntegro; nesse caso, verifique os parâmetros originais da sua cláusula WITH.Medição de overhead de desempenho: Execute um deployment no estado RUNNING com um sink Blackhole para verificar se há consumo de performance durante a inserção de dados em uma tabela, eliminando a sobrecarga de um sistema externo real.
Validação de saída de UDF: Direcione a saída de funções definidas pelo usuário (UDF) para uma tabela sink Blackhole. Isso permite inspecionar os dados sem a necessidade de escrita em uma tabela física.
Capacidades
|
Item |
Descrição |
|
Tipo de tabela |
Tabela sink |
|
Modo de execução |
Batch e streaming |
|
Formato de dados |
N/A |
|
Métrica |
N/A |
|
Tipo de API |
API SQL |
|
Atualização ou exclusão de dados na tabela sink |
Suportado |
Limitações
É necessário utilizar o Realtime Compute for Apache Flink com Ververica Runtime (VVR) versão 2.0.0 ou superior.
Crie uma tabela sink Blackhole
Defina a tabela sink utilizando 'connector' = 'blackhole':
CREATE TABLE blackhole_sink(
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
Para criar uma tabela sink Blackhole a partir da definição de uma tabela source existente, utilize a cláusula LIKE:
CREATE TABLE blackhole_sink WITH ('connector' = 'blackhole')
LIKE table_source (EXCLUDING ALL);
Opções do conector
|
Opção |
Obrigatório |
Padrão |
Tipo |
Descrição |
|
|
Sim |
Nenhum |
STRING |
Tipo do conector. Defina como |
Exemplo
O exemplo abaixo lê dados de uma tabela source e grava todos os registros em um sink Blackhole:
CREATE TEMPORARY TABLE table_source(
name VARCHAR,
score BIGINT
) WITH (
...
);
CREATE TEMPORARY TABLE blackhole_sink(
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
INSERT INTO blackhole_sink SELECT * FROM table_source;