J'utilise les données de lecture logstash de mysql à kafka. pour économiser l'espace disque, j'écris config de sortie comme ceci:Comment logstash gérer correctement la valeur nulle avec formater plaine
kafka {
codec => plain {
format => "%{key1},%{key2},%{key3}"
}
}
comme je l'espère, en leur donnant des données d'entrée:
{
key1: value1,
key2: nil,
key3: value3
}
la sortie devrait comme ceci:
value1,,value3
mais la sortie acutal est la suivante:
value1,%{key2},value3
comment configurer la configuration de sortie pour convertir le zéro avec "", quelqu'un sait?
arc
salut, merci, ça marche. il y a une petite chose qui me dérange. en utilisant mutate, la sortie de rubydebu est comme ceci: {"key1" => "value1", "key2" => [[0], ""], "key3" => "value3"}. J'attends comme ceci: {"key1" => "value1", "key2" => "", "key3" => "value3"} – Howardyan
Des sons comme key2 ont été mis à quelque chose, et l'add_field l'a transformé en tableau. –
Ce qu'Alain a dit est vrai. 'if [key2]' est faux si [key2] n'existe pas dans l'événement, ou [key2] existe dans l'événement, mais est nul (cf https://www.elastic.co/guide/fr/logstash/ 5.5/event-dependent-configuration.html # conditionnels). – baudsp