org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: не удается найти сопоставление для test-index
Когда я загружаю данные Elasticsearch в Spark DataFrame с помощью PySpark, я получаю следующую ошибку:
py4j.protocol.Py4JJavaError: Произошла ошибка при вызове o48.load.: org.elasticsearch.hadoop.EsHadoopIllegalArgumentException: не удается найти сопоставление для test-index - требуется одно перед использованием Spark SQL
Это мой код:
df = spark \
.read \
.format("org.elasticsearch.spark.sql") \
.option("es.nodes","localhost") \
.option("es.port",9200) \
.option("es.nodes.wan.only","true") \
.load("test-index/intensity")
Я проверил, что индекс существует.
я использую elasticsearch-hadoop-6.4.0.jar
запустить работу PySpark.
Это то, что я получаю в Postman, используя запрос GET для конечной точки http://localhost:9200/test-index
:
{
"test-index": {
"mappings": {
"intensity": {
"properties": {
"alarm_id": {
"type": "keyword"
},
"person_name": {
"type": "keyword"
}
}
}
}
}
}