Как отправить результат запроса Hive вasticsearch с помощью logstash - PullRequest
0 голосов
/ 18 мая 2019

Получил несколько таблиц Hive, каждая из которых имеет 1M + записей.

Выполнение довольно сложных запросов путем объединения нескольких таблиц.

Хотелось бы поместить результат в эластичный стек, используя входной плагин Logstash.

Запрос запускается после ssh к одному из пограничных узлов, поэтому имя пользователя или пароль БД не требуются.

Все, что я смог найти в уроках logstash, - это как запустить простые операторы в реляционных базах данных с помощью jdbc входного плагина.

Любая идея, как это можно сделать для улья.

Hive Query:

/usr/bin/hive -S -i ~/hive/hiverc  -f [file contains long query ] 

Logstash conf:

input {
  jdbc {
    jdbc_driver_library => "mysql-connector-java-5.1.36-bin.jar"
    #jdbc_driver_class => "com.mysql.jdbc.Driver"
    #jdbc_connection_string => "jdbc:mysql://localhost:3306/mydb"
    #jdbc_user => "mysql"
    #parameters => { "favorite_artist" => "Beethoven" }
    #schedule => "* * * * *"
    statement => "[file contains long query ]"
  }
}

Первая ошибка - имя пользователя / ввод JDBC не объявлены.У меня их нет.

Во-вторых, я уверен, что это не будет работать без надлежащей библиотеки драйверов для улья, которую я не могу найти на сайте logstash.

Найден метод, который использует создание таблицы ES и передает данные непосредственно в нее, но этот подход полностью игнорирует logstash.

Будет запускать logstash в моем локальном каталоге на пограничном узле

...