我正在尝试使用nifi接收器创建Spark Streaming应用程序。根据教程,我将sbt dependancies添加到我的构建文件中,但现在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
有人知道如何解决这个问题吗?
谢谢, 马可
答案 0 :(得分:1)
我不完全确定这是否是问题,但最近有人指出nifi-spark-receiver应该对Spark有“提供”依赖,否则可能会导致类路径出现问题。
在这个JIRA https://issues.apache.org/jira/browse/NIFI-1803中解决了这个问题,它将在NiFi的下一个0.x版本中发布(如果没有0.7,则会发布1.0)。
您可以尝试使用mvn install从0.x分支构建自己的NiFi副本,然后尝试使用当地Maven回购中可用的0.7.0-SNAPSHOT的nifi-spark-receiver。