我已经使用scala在Kafka中为自定义生产者编写了一个小代码,它给出了以下错误。我已经在代码部分附加了代码。我已附上一些代码以供参考。
Name: Compile Error
Message: <console>:61: error: not found: type KafkaProducer
val producer = new KafkaProducer[String, String](props)
^
我认为我需要导入一个相关的程序包。我尝试导入软件包,但无法获得正确的软件包。
val producer = new KafkaProducer[String, String](props)
for( i <- 1 to 10) {
//producer.send(new ProducerRecord[String, String]("jin", "test",
"test"));
val record = new ProducerRecord("jin", "key", "the end ")
producer.send(record)
答案 0 :(得分:0)
我现在无法为jupyter安装scala内核,但是基于this github,您应该将Kafka添加为依赖项,这样库可能会被识别
%%configure -f
{
"conf": {
"spark.jars.packages": "org.apache.spark:spark-streaming_2.11:2.1.0,org.apache.bahir:spark-streaming-twitter_2.11:2.1.0,org.apache.spark:spark-streaming-kafka-0-8_2.10:2.1.0,com.google.code.gson:gson:2.4",
"spark.jars.excludes": "org.scala-lang:scala-reflect,org.apache.spark:spark-tags_2.11"
}
}
如果这不起作用,请尝试从git下载整个笔记本,然后自行启动,以查看是否还需要其他内容
答案 1 :(得分:0)
@Arthur,魔术命令%% configure -f在jupyter笔记本中不起作用。我尝试从git下载整个笔记本,但这也行不通。幸运的是我当时 阅读有关添加依赖项的apache toree文档,并找到了%% addDeps命令。将以下格式的依赖项放入jupyter Notebook后, 我设法运行了代码。
%AddDeps org.apache.kafka kafka-clients 1.0.0
%AddDeps org.apache.spark spark-core_2.11 2.3.0
仅为其他人的信息,当我们使用SBT编译代码时,我们需要从jupyter笔记本中注释此代码,因为我们会将它们添加到build.sbt文件中。
感谢亚瑟(Arthur)展示了方向!