Как разобраться в spark api для эластичного поиска - PullRequest
0 голосов
/ 29 февраля 2020

Я натолкнулся на эту страницу, которая имеет следующую строку кода:

JavaEsSpark.saveToEs(javaRDD, "spark/docs");

Я пытаюсь понять, что здесь является вторым аргументом spark/docs. После поиска в Google я наткнулся на эту страницу на github. Там написано:

def saveToEs(jrdd: JavaRDD[_], resource: String) = EsSpark.saveToEs(jrdd.rdd, resource)

Кажется, что spark/docs - это resource. Насколько я понимаю, ресурс означает фактический документ для индексации. Но тогда как это документ? Это индексное имя, к которому должен быть добавлен документ? Я борюсь в основном потому, что я не нашел официальную документацию по API sparksearch spark, я новичок вasticsearch, а также я не очень хорош в scala.

1 Ответ

1 голос
/ 01 марта 2020

В приведенном ниже коде есть два аспекта:

JavaEsSpark.saveToEs(javaRDD, "spark/docs");

Приведенный выше код записывает данные в Elasticsearch. Два аргумента:

javaRDD - Это будет не что иное, как неизменный список элементов или в слове Spark RDD, которое вы хотите включить в эластичный поиск.

В Java мире они immutable serialized objects. В мире Elasticsearch они будут documents.

spark / docs - Это будет сток , в котором вы хотите принять данные. Другими словами, это index, в который ваши документы (или в мире Spark RDD ) будут приняты.

Короче, это index name, за которым следует type name в elasticsearch. ES начиная с версии 7.x удалил настроенное имя типа. Следовательно, для того, чтобы войти в любой другой индекс в Elasticsearch, вы можете просто указать you_own_index_name/docs

Так что в основном код JavaEsSpark.saveToEs(javaRDD, "spark/docs"); просто записывает или принимает данные, которые есть в javaRDD, в индекс Elasticsearch spark ,

Надеюсь, это поможет!

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