我有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客戶端。有沒有辦法從代碼覆蓋特定的庫?