【发布时间】:2023-01-21 22:36:25
【问题描述】:
`在使用弹性搜索库“org.elasticsearch:elasticsearch-spark-30_2.12:7.13.3”时,如果目标是弹性搜索 7.10 但以 opensearch 2.3 作为目标,它可以正常工作,但会出现映射解析器异常等问题。基本上在构建批量 api 请求时,它缺少索引名称作为请求的一部分,如下所示。
{"index":{"_id":50}} <-- name missing in BULK API syntax
{"name":"Bilbo","age":50}
{"index":{"_id":1000}}
{"name":"Gandalf","age":1000}
{"index":{"_id":195}}
{"name":"Thorin","age":195}
{"index":{"_id":178}}
{"name":"Balin","age":178}
{"index":{"_id":77}}
{"name":"Kili","age":77}
下面是使用的代码
df.write
.format( "org.elasticsearch.spark.sql" )
.option( "es.nodes", host )
.option( "es.nodes", nodes )
.option( "es.port", 443 )
.option( "es.net.ssl", "true" )
.option("es.resource",index/type)
.option( "es.nodes.wan.only", "true" )
.option( "es.net.http.auth.user",username)
.option( "es.net.http.auth.pass",password)
.mode( "append" )
.save()
如果目标主机是弹性搜索主机但在 opensearch 主机上失败,则相同的代码正在写入数据`
【问题讨论】:
标签: elasticsearch pyspark databricks opensearch aws-databricks