apache-spark - 无法在 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] 设置
我可以使用其他选项来声明时间戳字段吗?
解决方案
最后,我创建了一个映射文档,这对我来说非常有用:
推荐阅读
- uml - 确定适航性时要考虑的范围?
- laravel - laravel mix 不工作,我的 localhost:8000 不工作
- mysql - mySQL - 在一个字段中查找大量关键字的上下文
- scala - Scala中的条件类型变量
- c# - 无法通过 MSBuild 调用引用 WCF 服务功能的自定义任务
- java - java - 如何拆分用户在java中输入时提供的字符串?
- php - 选择等于现在的日期时间字段
- angular - 使用 ASP.NET Core 在 Angular 项目模板中将开发环境设置为本地生产
- r - 部分基于全局变量返回数据集的函数
- android - Cannot resolve symbol - Bitmap image compress and upload to Firebase