我正在使用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]设置
是否有可用于声明时间戳字段的替代选项?
最后,我创建了一个映射文档,这对我很有用: