Le connecteur Blackhole fonctionne comme /dev/null sous Unix : il accepte tous les enregistrements d'entrée et les ignore silencieusement. Utilisez-le pour déterminer si un problème dans votre job Flink SQL provient de la configuration du puits (sink) ou de la logique de traitement en amont.
Le connecteur Blackhole prend en charge les modes batch et streaming, ainsi que les mises à jour et suppressions de données dans la table puits.
Cas d'utilisation
Isoler les erreurs de configuration du puits : Si une table puits utilisant un autre type de connecteur génère une erreur et que vous ne savez pas si la cause est un problème système ou un paramètre WITH invalide, remplacez
connectorparblackholeet cliquez sur Validate dans le coin supérieur droit de l'onglet Drafts. Si aucune erreur n'apparaît, le système fonctionne correctement ; vérifiez alors les paramètres de votre clause WITH d'origine.Mesurer la surcharge de performance : Exécutez un déploiement à l'état RUNNING avec un puits Blackhole pour vérifier la consommation de ressources lors de l'insertion de données dans une table, sans la surcharge liée à un système externe réel.
Valider la sortie d'une UDF : Acheminez la sortie d'une fonction définie par l'utilisateur (UDF) vers une table puits Blackhole afin d'inspecter les données sans écrire dans une table physique.
Fonctionnalités
|
Élément |
Description |
|
Type de table |
Table puits |
|
Mode d'exécution |
Batch et streaming |
|
Format de données |
N/A |
|
Métrique |
N/A |
|
Type d'API |
SQL API |
|
Mise à jour ou suppression de données dans une table puits |
Prise en charge |
Limites
Realtime Compute for Apache Flink utilisant Ververica Runtime (VVR) version 2.0.0 ou ultérieure est requis.
Créer une table puits Blackhole
Définissez la table puits avec 'connector' = 'blackhole' :
CREATE TABLE blackhole_sink(
name VARCHAR,
score BIGINT
) WITH (
'connector' = 'blackhole'
);
Pour créer une table puits Blackhole à partir de la définition d'une table source existante, utilisez la clause LIKE :
CREATE TABLE blackhole_sink WITH ('connector' = 'blackhole')
LIKE table_source (EXCLUDING ALL);
Options du connecteur
|
Option |
Requis |
Par défaut |
Type |
Description |
|
|
Oui |
Aucun |
STRING |
Type de connecteur. Définissez la valeur sur |
Exemple
L'exemple suivant lit depuis une table source et écrit tous les enregistrements dans un puits 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;