我遵循这个教程:用python和kafka开始spark流
我正在把代码复制粘贴到我的jupiter笔记本(python3)上。
在cmd 7他们去:
parsed.count().map(lambda x:'Tweets in this batch: %s' % x).pprint()
但它什么也没印出来。
我不知道数据集中是否真的有一些数据,但是count()应该返回一些数字,即使它是零,不是吗?
我对jupyter笔记本完全陌生。
整个代码:
# 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()
我试过:
import sys
from importlib import reload
reload(sys)
但没用。我设法打印出其他东西,例如,如果我只是在一个单元格中键入“hello world”。
1条答案
按热度按时间ifsvaxew1#
在您的代码之后使用: