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"
                    }
                }
            }
        }
    }
}

0 ответов

Другие вопросы по тегам