我们不需要单独使用这些依赖项来使用 Flink Streaming 在 Elasticsearch 中插入数据。
libraryDependencies += "org.elasticsearch.client" % "elasticsearch-rest-high-level-client" % "7.5.2" ,
libraryDependencies += "org.elasticsearch" % "elasticsearch" % "7.5.2"
只需使用这个 flink-connector-elasticsearch7 或 flink-connector-elasticsearch6
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
有关更多详细信息,请查看我在此处提供的这个工作 Flink-Elasticsearch 代码。
注意:从 Elastic 6.x 开始,他们开始全面支持 REST 弹性客户端。直到 Elastic5.x,他们一直在使用 Transport 弹性客户端。