我有CDH 5.7.0和spark 1.6.0和kafka 0.9.0,我需要运行一个Spark流作业,该作业使用消息来自另一个集群中的kafka代理的消息,其中0.8.2.2版。我创建了一个流,如:如何覆盖在CDH中运行spark的库
val stream = KafkaUtils.createStream(ssc, Utils.settings.zookeeperQuorum, Utils.settings.kafkaGroup, Utils.settings.topicMapWifi)
在build.sbt我添加:
libraryDependencies += "org.apache.spark" %% "spark-streaming-kafka" % "1.2.0"
与该库我将使用适合的经纪人与版本0.8.2.x客户端。但问题是,Spark是加载一吨的东西从CDH claspath在:
/opt/cloudera/parcels/CDH-5.7.0-1.cdh5.7.0.p0.45/lib/spark/bin/spark-class
并且正在添加比我需要的更新版本的kafka客户端。有没有办法从代码覆盖特定的库?