Индексирование CSV с заголовками вasticsearch - PullRequest
0 голосов
/ 09 января 2020

Я использую Elasticsearch 6.6 и Kibana 6.4, установленные в моей учетной записи Google Cloud. Вот моя проблема: у меня там есть папка, куда приходят журналы csv с некоторых устройств IoT, и с помощью созданного мной конвейера Logsta sh я внедряю эти csv в индекс в моем экземпляре Elasticsearch. Дело в том, что эти CSV будут изменены и будут иметь некоторые заголовки вне тела, и я хочу каким-то образом включить эту дополнительную информацию и соотнести ее с телом соответствующего CSV. Итак, на следующем шаге, когда я выполняю поиск по некоторым ключевым словам из заголовка, я хочу иметь возможность получать результаты, связанные с телом.

Ниже я приложил пример файла, чтобы увидеть фактический заголовок, который я имею в виду. Заголовок, который я имею в виду, состоит из первых 7 с «#» перед: «Mode», «Operation», «CameraNo», «CudaStreamCameraNo», «SnapshotCamId», «CenterCamId», «AgronomistDose».

образец журнала csv с устройств IoT

На данный момент я преобразовал файл CSV с информацией заголовка во все записи, но потенциально у меня будут проблемы с памятью, так как фактический csv, который придет, будет иметь тысячи или миллионы записей, а в заголовке будут некоторые дополнительные поля, такие как 'local_path', который имеет тип 'longtext'.

Я также видел подходы, подобные parent-child модель или вложенный объект отображение или объединения на стороне приложения и денормализация данных , но я немного запутался в выяснении какое решение лучше всего подходит для моего случая. Ключевой вопрос здесь: Устраняет ли какой-либо из вышеуказанных 4 подходов эту избыточность данных ? Как я могу это сделать? Кто-нибудь может мне помочь?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...