0

Я только начал использовать Elasticsearch/logstash.Как сообщить Elasticsearch получить имена столбцов из первой строки файла?

У меня есть 3 разных файла с общим идентификатором. Каждый файл содержит имена столбцов в первой строке, например:

header1,header2,header3,header4 
1234,data2,data3,data4 
1235,data2,data3,data4 
1236,data2,data3,data4 

Как я могу сказать Elasticsearch, чтобы получить первую строку в качестве имен столбцов?

Также, как я могу провести некоторое исследование в Elastic, используя общий идентификатор между файлами, например q:column=data group by id?

ответ

1

Похоже, что у вас есть данные csv. Logstash предоставляет фильтр csv, но он не обрабатывает строки заголовков.

Существует новый csv codec, но он указан как не готовый к выпуску.

0

Вы можете добавить указанный ниже код в файл .confgig. Вы должны явно указывать имена столбцов в файле конфигурации.

filter { 
csv { 
    columns => [ 
     "YearMonth", 
     "ProjectCode", 
     "EmpNo", 
     "RevenueCreditUnit", 
     "Revenue", 
     "dtLoad" 

    ] 
    separator => "," 
    remove_field => ["message"] 
    } 
} 

Продолжайте искать, может быть, лучший способ.