1.Cannot determine write shards for [authorRecommender/Author]; likely its format is incorrect (maybe it contains illegal characters?)
原因:索引中不能包含大写字母。
修改:将大写字母改为小写即可。
2.[DataFrameFieldExtractor for field [[id]]] cannot extract value from entity
原因:"es.mapping.id"参数指定文档的id,这个参数必须配置成DataFrame中已有的字段,不能随意指定。
修改:加入代码:(“es.mapping.id”, “mid”) 即可
authorDF.write
.option("es.nodes", eSConfig.httpHosts)
.option("es.http.timeout", "100m")
.option("es.mapping.id", "mid")
.mode("overwrite")
.format("org.elasticsearch.spark.sql")
.save(eSConfig.index + "/" + ES_AUTHOR_INDEX)