Py4JJavaError выбрасывает при интеграции Spark с Kafka - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь интегрировать Spark с Kafka с Python.У меня есть тема под названием mawstopic, которая печатает JSON.Я печатаю значение счетчика ' Имя '

import findspark
findspark.init(r'C:\Users\maws.k\Desktop\spark-2.2.1-bin-hadoop2.7')
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.0.2 pyspark-shell'
import sys
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils

sc = SparkContext(appName="PythonStreamingDirectKafkaWordCount")
ssc = StreamingContext(sc, 2)
kafkaStream = KafkaUtils.createStream(ssc, 'cdh57-01-node-01.moffatt.me:2181', 'spark-streaming', {'mawstopic':1})
parsed = kafkaStream.map(lambda v: json.loads(v[1]))
parsed.count().map(lambda x:'words: %s' % x).pprint()
authors_dstream = parsed.map(lambda author: author['Name'])
author_counts = authors_dstream.countByValue()
author_counts.pprint()
ssc.start()
ssc.awaitTermination()

Я получил следующую ошибку.

Py4JJavaError: Произошла ошибка при вызове o2767.start,: java.lang.IllegalStateException: только один StreamingContext может быть запущен в этой JVM.Запущенный в данный момент StreamingContext был запущен atorg.apache.spark.streaming.api.java.JavaStreamingContext.start (JavaStreamingContext.scala: 556)

Я выполнил ssc.stop () после запуска приложения, но все ещеошибка выброса

...