首页 > 解决方案 > 无法在 ES 6.x 及更高版本中对索引/更新请求使用时间戳。请删除 [es.mapping.timestamp] 设置

问题描述

我正在使用 Spark Structured Streaming 写入 Elasticsearch 6.2.0 Sink:

dataDf  
  .writeStream
  .outputMode(OutputMode.Append)
  .format("org.elasticsearch.spark.sql")
  .queryName("ElasticSink")
  .option("checkpointLocation", s"${s3Url}/checkpoint_elasticsearch")
  ...
  .option("es.mapping.id", "TransactionID")
  .option("es.mapping.timestamp", "InvoiceDateString")
  .start("pos-transactions/broadcast") //ES index

然而,Elasticsearch 抱怨:

无法在 ES 6.x 及更高版本中对索引/更新请求使用时间戳。请删除 [es.mapping.timestamp] 设置

我可以使用其他选项来声明时间戳字段吗?

标签: apache-sparkelasticsearchspark-structured-streaming

解决方案


最后,我创建了一个映射文档,这对我来说非常有用:


推荐阅读