我正在尝试插入到ElasticSearch(ES)中的一个Scala程序。
在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中,感谢您的帮助。
发布于 2020-02-05 18:06:38
要在Flink中使用Elasticsearch,使用Flink的ElasticsearchSink会比直接使用RestHighLevelClient更容易。然而,Elasticsearch 7.x的接收器版本将在Flink 1.10中发布,它还没有发布(它很快就会发布;RC1已经发布了)。
使用这个连接器需要一个额外的依赖项,比如flink-connector-elasticsearch6_2.11 (或flink-connector-elasticsearch7_2.11,随Flink1.10一起提供)。
请参阅docs on using Elasticsearch with Flink。
更喜欢Flink的接收器而不是自己使用RestHighLevelClient的原因是,Flink接收器进行批量请求,处理错误和重试,并且它与Flink的检查点机制捆绑在一起,因此它能够保证在某些事情失败时不会丢失任何东西。
至于你的实际问题,也许你需要添加
libraryDependencies += "org.elasticsearch.client" % "elasticsearch-rest-client" % "7.5.2"发布于 2020-05-07 17:11:24
我们不需要单独使用这些依赖项来通过使用Flink流在Elasticsearch中插入数据。
libraryDependencies += "org.elasticsearch.client" % "elasticsearch-rest-high-level-client" % "7.5.2" ,
libraryDependencies += "org.elasticsearch" % "elasticsearch" % "7.5.2" 只需使用这个flink-connector-flink ticsearch7或flink-connector-flink ticsearch6即可
libraryDependencies += "org.apache.flink" %% "flink-connector-elasticsearch7" % "1.10.0" Elasticsearch的所有依赖项都与Flink-Elastic连接器一起提供。因此我们不需要在build.sbt文件中单独包含它们。
用于Flink Elasticsearch的build.sbt文件
name := "flink-streaming-demo"
scalaVersion := "2.12.11"
val flinkVersion = "1.10.0"
libraryDependencies += "org.apache.flink" %% "flink-scala" % flinkVersion % "provided"
libraryDependencies += "org.apache.flink" %% "flink-streaming-scala" % flinkVersion % "provided"
libraryDependencies += "org.apache.flink" %% "flink-connector-elasticsearch7" % flinkVersion有关更多详细信息,请查看我提供的here提供的Flink-Elasticsearch工作代码。
注意:从Elastic 6.x开始全面支持REST elastic client。在Elastic5.x之前,他们一直使用Transport elastic client。
https://stackoverflow.com/questions/60073034
复制相似问题