Получил несколько таблиц 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 в моем локальном каталоге на пограничном узле