У меня локально настроен спарк 2.2, и я работаю со scala
Конфигурация сеанса спарка ниже
val sparkSession = SparkSession
.builder()
.appName("My application")
.config("es.nodes", "localhost:9200")
.config("es.index.auto.create", true)
.config("spark.streaming.backpressure.initialRate", "1")
.config("spark.streaming.kafka.maxRatePerPartition", "7")
.master("local[2]")
.enableHiveSupport()
.getOrCreate()
Когда я запускаю искру на моей локальной машине
kafkaStream.foreachRDD(rdd => {
calledFunction(rdd)
})
def calledFunction(rdd: RDD[ConsumerRecord[String, String]]): Unit ={
rdd.foreach(r=>{
print("hello")})
}
для приведенного выше кода на моем локальном компьютере «привет» не печатается, но все задания выстраиваются в очередь.
, если я изменю свой код на
kafkaStream.foreachRDD(rdd => {
rdd.foreach(r=>{
print("hello")})
})
тогда он печатает "привет" на консоли.
не могли бы вы мне помочь, в чем проблема?