集成 nifi receiverwith Spark streaming 导致 sbt assembly 失败

Integrating nifi receiverwith Spark streaming causes sbt assembly to fail

我正在尝试使用 nifi 接收器创建 Spark Streaming 应用程序。根据教程,我将 sbt 依赖项添加到我的构建文件中,但现在 sbt assembly 失败并出现重复数据删除错误。

我的 build.sbt 文件是:

version := "0.0.1"

scalaVersion := "2.10.5"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.6.1" % "provided"

libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.6.1" % "provided"

libraryDependencies += "org.apache.spark" % "spark-hive_2.10" % "1.6.1" % "provided"

libraryDependencies += "org.apache.nifi" % "nifi-spark-receiver" % "0.6.1"

libraryDependencies += "org.apache.nifi" % "nifi-site-to-site-client" % "0.6.1" 

我得到的错误是:

[error] (*:assembly) deduplicate: different file contents found in the following:
[error] org.apache.avro\avro-ipc\jars\avro-ipc-1.7.7-tests.jar:META-INF/maven/org.apache.avro/avro-ipc/pom.properties
[error] org.apache.avro\avro-ipc\jars\avro-ipc-1.7.7.jar:META-INF/maven/org.apache.avro/avro-ipc/pom.properties

有人知道怎么解决吗?

谢谢, 马可

我不确定这是否是问题所在,但最近有人指出 nifi-spark-receiver 应该 "provided" 依赖于 Spark,否则它可能会导致类路径出现问题。

此 JIRA https://issues.apache.org/jira/browse/NIFI-1803 中已解决此问题,它将在 NiFi 的下一个 0.x 版本中发布(如果没有 0.7,则为 1.0)。

您可以尝试使用 mvn install 从 0.x 分支构建您自己的 NiFi 副本,然后尝试使用您本地 Maven 中可用的 nifi-spark-receiver 的 0.7.0-SNAPSHOT回购。