Flume morphline interceptor-split
Привет я пытаюсь использовать морфлайн inteceptor и конвертировать мой системный журнал в JSON для начала я пытался использовать команду split для разделения моей строки, но я получаю ошибку, как показано ниже:
"" Источник r1 был удален из-за ошибки во время конфигурации com.typesafe.config.ConfigException$WrongType: /root/flume.17/conf/morph.conf: 21: Невозможно объединить объект или список с необъектом или -list, ConfigString("split") и SimpleConfigObject({"outputFields":"substrings","inputField":"message","addEmptyStrings":false,"isRegex":false,"trim":true,"separator":" "}) не совместимы ""
мой файл конфигурации morphline:
morphlines : [
{
# Name used to identify a morphline. E.g. used if there are multiple
# morphlines in a morphline config file
id : morphline1
# Import all morphline commands in these java packages and their
# subpackages. Other commands that may be present on the classpath are
# not visible to this morphline.
importCommands : ["org.kitesdk.**"]
commands : [
{
# Parse input attachment and emit a record for each input line
readLine {
charset : UTF-8
}
}
,split {
inputField : message
outputFields : "substrings"
separator : " "
isRegex : false
addEmptyStrings : false
trim : true }
}
}
]
}
]
что я должен сделать? Я новичок в этом
1 ответ
Из документации Morhpline
outputField - имя поля, к которому нужно добавить выходные значения, то есть одну строку. Пример: токены. Должно присутствовать одно из outputField или outputFields, но не оба одновременно.
outputFields - Имена полей, к которым нужно добавить выходные значения, то есть список строк. Пример: [firstName, lastName, "", age]. Пустая строка в списке указывает, что этот столбец пропущен в выходных данных. Должно присутствовать одно из outputField или outputFields, но не оба одновременно.
Так что вы должны просто указать
outputField : substrings
вместо
outputFields : "substrings"
http://kitesdk.org/docs/1.1.0/morphlines/morphlines-reference-guide.html