簡體   English   中英

Spark Streaming Kafka CreateDirectStream無法解析

[英]Spark Streaming Kafka CreateDirectStream Not Resolving

請幫忙。

我正在使用IntelliJ和SBT來構建我的應用程序。

我正在開發一個應用程序來閱讀Spark Streaming中的Kafka主題,以便對它進行一些ETL工作。 不幸的是,我無法讀取卡夫卡。

KafkaUtils.createDirectStream沒有解析並一直給我錯誤(無法解析符號)。 我做了我的研究,看來我有正確的依賴。

這是我的build.sbt:

name := "ASUIStreaming"
version := "0.1"
scalacOptions += "-target:jvm-1.8"
scalaVersion := "2.11.11"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "2.1.0"
libraryDependencies += "org.apache.spark" % "spark-streaming-kafka-0-8_2.11" % "2.1.0"
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.1.0"
libraryDependencies += "org.apache.kafka" %% "kafka-clients" % "0.8.2.1"
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.4"

有什么建議么? 我還要提到我在筆記本電腦上沒有管理員權限,因為這是一台工作計算機,而且我使用的是便攜式JDK和IntelliJ安裝。 但是,我工作的同事處於同樣的境地,對他們來說效果很好。

提前致謝!

這是我正在使用的主要Spark Streaming代碼片段。 注意 :我屏蔽了一些機密工作數據,如IP和主題名稱等。

import org.apache.kafka.clients.consumer.ConsumerRecord
import kafka.serializer.StringDecoder
import org.apache.spark._
import org.apache.spark.streaming._
import org.apache.spark
import org.apache.kafka.clients.consumer._
import org.apache.kafka.common.serialization.StringDeserializer
import scala.util.parsing.json._
import org.apache.spark.streaming.kafka._



object ASUISpeedKafka extends App

{
  // Create a new Spark Context
  val conf = new SparkConf().setAppName("ASUISpeedKafka").setMaster("local[*]")
  val sc = new SparkContext(conf)
  val ssc = new StreamingContext(sc, Seconds(2))

  //Identify the Kafka Topic and provide the parameters and Topic details
  val kafkaTopic = "TOPIC1"
    val topicsSet = kafkaTopic.split(",").toSet
    val kafkaParams = Map[String, String]
  (

    "metadata.broker.list" -> "IP1:PORT, IP2:PORT2",
    "auto.offset.reset" -> "smallest"
  )

  val kafkaStream = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder]
  (
  ssc, kafkaParams, topicsSet
  )
}

我能夠解決這個問題。 在重新創建項目並再次添加所有依賴項之后,我發現在Intellij中某些代碼必須在同一行上,否則它將無法編譯。

在這種情況下,將val kafkaParams代碼放在同一行(而不是代碼塊)解決了這個問題!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM