spark-structured-streaming - 如何使用 spark 结构化流在 elasticsearch sink 中设置动态文档 ID
问题描述
在弹性搜索写入接收器中,我应该如何添加带有来自数据集字段的动态值的文档 ID。在我的情况下,我需要根据格式化数据集中的特定字段设置文档 ID。遇到“es.mapping.id”,但我将如何从我的数据集中获取值?
解决方案
发现只需将字段名称指定为“es.mapping.id”的值即可实现此目的
StreamingQuery query = finalData.writeStream()
.outputMode(OutputMode.Append())
.format("org.elasticsearch.spark.sql")
.option("es.mapping.id", "input_key")
.option("checkpointLocation","/tmp/spark-checkpoint")
.start("spark_index/doc");
推荐阅读
- python - 单个 pandas 数据帧上的 Fuzzy Wuzzy 逻辑,用出现次数最多的实例替换相似值
- c++ - 如何编辑分配的变量?
- javascript - 如何使用 Webpack 添加主题 javascript 文件?
- yaml - 无法在 Azure DevOps 管道中激活 conda
- c# - 数据类型问题
- ruby-on-rails - current_user 从反应方面为零,Rails 应用程序
- web2py - 为什么更新使用 db.table[id] 语法检索到的记录不起作用?
- r - R中闪亮应用程序的本地主机目录在哪里显示本地pdf文件?
- c# - 如何在 InArgument 中获取 '*' 字符而不是任何字符串
- excel - 从列表框中的多个列中选择单个项目