Невозможно вставить данные в индекс поиска куста, используя искровой SQL - PullRequest
0 голосов
/ 07 октября 2018

Я использовал следующие шаги в терминале улья для вставки в индекс эластичного поиска -

  1. Создать hive таблицу, указывающую на индекс эластичного поиска

    CREATE EXTERNAL TABLE test_es (строка идентификатора, строка имени) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES ('es.resource = test / person', 'es.mapping = id');

  2. Создайте промежуточную таблицу и вставьте в нее данные

    Создайте таблицу emp (id id, name name string) поля строки с разделителями, оканчивающиеся на ',';

    загрузка данных local inpath '/ home/monami/data.txt 'в таблицу emp;

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

    вставить таблицу перезаписи test_es select * from emp;

Я мог бы успешно просмотреть индекс поиска кустов, выполнив описанные выше шаги в hive CLI.Но всякий раз, когда я пытаюсь вставить таким же способом объект SPARK SQL hiveContext, я получаю следующую ошибку:

java.lang.RuntimeException: java.lang.RuntimeException: class org.elasticsearch.hadoop.mr.EsOutputFormat$EsOutputCommitter not org.apache.hadoop.mapred.OutputCommitter

Не могли бы вы сообщить мне причину этой ошибки?Если невозможно вставить таким же способом с помощью Spark, то какой метод вставки в индекс куста эластичного поиска с использованием Spark?

Используемые версии - Spark 1.6, Scala 2.10, Elasticsearch 6.4, Hive 1.1

...