У меня есть Elasticsearch 6.4.2 и Spark 2.2.0
В настоящее время у меня есть рабочий пример , где я могу отправлять данные из набора данных в Elasticsearch через API-интерфейс writeStream (структурированная потоковая передача):
ds.writeStream
.outputMode("append")
.format("org.elasticsearch.spark.sql")
.option("checkpointLocation","hdfs://X.X.X.X:9000/tmp")
.option("es.resource.write","index/doc")
.option("es.nodes","X.X.X.X")
.trigger(Trigger.ProcessingTime("10 seconds"))
.start()
Однако мне интересно использовать имена динамических индексов для создания нового индекса на основе даты события . Согласно документации это возможно сделать с помощью конфигурации es.resource.write со специальным форматом:
.option("es.resource.write","index-{myDateField}/doc")
Несмотря на все мои усилия, когда я пытаюсь запустить код с фигурными скобками, он сразу вылетает, сообщая, что был обнаружен недопустимый символ '{'.
¿Поддерживает ли API-интерфейс streamWrite эту конфигурацию?