我正在尝试通过套接字发送一个JSON对象,如下所示
item = {"text“:"test1","location":"test2"}
爬虫程序
...
conn, adds = s.accept()
conn.send(json.dumps(item).encode('utf-8'))
...星火流节目:
...
sc = SparkContext(conf=conf)
scc = StreamingContext(sc, 4)
dataStream = ssc.socketTextStream(TCP_IP, TCP_PORT)
dataStream.pprint()
...在这种情况下,代码dataStream.pprint()将不打印任何内容。但如果我将crawler中的代码更改为
...
conn, adds = s.accept()
conn.send(json.dumps(item['text']).encode('utf-8'))
...spark程序可以打印出爬虫发送的消息。有人知道这是怎么回事吗?
发布于 2018-04-03 22:37:29
我认为问题出在socketTextStream上。
ssc.socketTextStream(TCP_IP, TCP_PORT)这一行是行为的罪魁祸首。你能试试StreamingContext类的socketStream方法吗?
可能需要提供一个自定义转换器对象才能使用此方法。
https://stackoverflow.com/questions/49624919
复制相似问题