org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:找不到测试索引的映射

时间:2018-09-04 14:28:28

标签: apache-spark hadoop elasticsearch pyspark

当我使用PySpark将Elasticsearch数据加载到Spark DataFrame中时,出现以下错误:

  

py4j.protocol.Py4JJavaError:调用o48.load时发生错误。   :org.elasticsearch.hadoop.EsHadoopIllegalArgumentException:找不到测试索引的映射-之前需要一个映射   使用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作业。

这是我使用GET请求为端点http://localhost:9200/test-index在Postman中获得的内容:

{
    "test-index": {
        "mappings": {
            "intensity": {
                "properties": {
                    "alarm_id": {
                        "type": "keyword"
                    },
                    "person_name": {
                        "type": "keyword"
                    }
                }
            }
        }
    }
}

0 个答案:

没有答案