Jupyter Notebook: функция Sparks's printt () не печатается - PullRequest
0 голосов
/ 16 мая 2019

Я следую этому уроку: Начало работы с Spark Streaming с Python и Kafka

Я копирую код в мой Блокнот Jupiter (Python 3).

В cmd 7 они идут:

parsed.count().map(lambda x:'Tweets in this batch: %s' % x).pprint()

, но ничего не печатается.

Я не знаю, есть ли какие-то данные в наборе данных, но count ()должен вернуть какое-то число, даже если оно равно нулю, не так ли?

Я совершенно новичок в Jupyter Notebook.

Весь код:

#1
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.0.2 pyspark-shell'

#2
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils
import json

#3
sc = SparkContext(appName="PythonSparkStreamingKafka_RM_01")
sc.setLogLevel("WARN")

#4
ssc = StreamingContext(sc, 60)

#5
kafkaStream = KafkaUtils.createStream(ssc, 'cdh57-01-node-01.moffatt.me:2181', 'spark-streaming', {'twitter':1})

#6
parsed = kafkaStream.map(lambda v: json.loads(v[1]))

#7
parsed.count().map(lambda x:'Tweets in this batch: %s' % x).pprint()

I 'мы пробовали:

import sys
from importlib import reload
reload(sys)

Но это не помогло.Мне удается распечатать другие вещи, например, если я просто набрал "Hello world" в ячейке.

1 Ответ

1 голос
/ 20 мая 2019

Используйте это после вашего кода:

ssc.start()
ssc.awaitTermination()
...