在scala中创建自定义生成器时出错

问题描述 投票:0回答:2

我使用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)
kafka-producer-api
2个回答
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下载整个笔记本,然后自行启动,以查看是否还需要其他内容


0
投票

@Arthur,魔术命令%% configure -f在jupyter笔记本中不起作用。我试着从git下载整个笔记本,但这也行不通。幸运的是,我正在阅读apache toree文档以添加依赖项并找到命令%% addDeps。将以下格式的依赖项放入jupyter笔记本后,我设法运行代码。

%AddDeps org.apache.kafka kafka-clients 1.0.0

%AddDeps org.apache.spark spark-core_2.11 2.3.0

仅仅为了其他人的信息,当我们使用SBT编译代码时,我们需要从jupyter notebook中注释这些代码,因为我们将在build.sbt文件中添加这些代码。

谢谢亚瑟展示方向!

© www.soinside.com 2019 - 2024. All rights reserved.