gpt4 book ai didi

scala - 在 Scala 中找不到 RestHighLevelClient

转载 作者:行者123 更新时间:2023-12-03 02:30:44 24 4
gpt4 key购买 nike

我正在尝试在 Scala 程序中插入 ElasticSearch(ES)。

在 build.sbt 我添加了

libraryDependencies += "org.elasticsearch.client" % "elasticsearch-rest-high-level-client" % "7.5.2" ,
libraryDependencies += "org.elasticsearch" % "elasticsearch" % "7.5.2"

我的代码是
val client = new RestHighLevelClient( RestClient.builder(new HttpHost("localhost", 9200, "http")))

编译时出现如下错误
not found: type RestHighLevelClient
not found: value RestClient

我错过了一些进口吗?我的目标是从 Flink 获取流并插入 ElasticSearch
任何帮助是极大的赞赏。

最佳答案

要将 Elasticsearch 与 Flink 一起使用,如果使用 Flink 的 ElasticsearchSink 会更容易。 ,而不是使用 RestHighLevelClient直接地。然而,用于 Elasticsearch 7.x 的 Sink 版本即将在 Flink 1.10 中发布,但尚未发布(它很快就会发布;RC1 已经发布)。

使用此连接器需要额外的依赖,例如 flink-connector-elasticsearch6_2.11 (或 flink-connector-elasticsearch7_2.11 ,随 Flink 1.10 提供)。

docs on using Elasticsearch with Flink .

更喜欢 Flink 的 sink 而不是使用 RestHighLevelClient 的原因你自己就是 Flink sink 发出批量请求,处理错误和重试,并且它与 Flink 的 checkpointing 机制绑定(bind)在一起,因此它能够保证如果发生故障不会丢失任何内容。

至于您的实际问题,也许您需要添加

libraryDependencies += "org.elasticsearch.client" % "elasticsearch-rest-client" % "7.5.2"

关于scala - 在 Scala 中找不到 RestHighLevelClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60073034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com