首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从spark streaming中的套接字读取JSON对象

无法从spark streaming中的套接字读取JSON对象
EN

Stack Overflow用户
提问于 2018-04-03 15:51:59
回答 1查看 604关注 0票数 0

我正在尝试通过套接字发送一个JSON对象,如下所示

item = {"text“:"test1","location":"test2"}

爬虫程序

代码语言:javascript
复制
...
conn, adds = s.accept()
conn.send(json.dumps(item).encode('utf-8'))
...

星火流节目:

代码语言:javascript
复制
...
sc = SparkContext(conf=conf)
scc = StreamingContext(sc, 4)
dataStream = ssc.socketTextStream(TCP_IP, TCP_PORT)
dataStream.pprint()
...

在这种情况下,代码dataStream.pprint()将不打印任何内容。但如果我将crawler中的代码更改为

代码语言:javascript
复制
...
conn, adds = s.accept()
conn.send(json.dumps(item['text']).encode('utf-8'))
...

spark程序可以打印出爬虫发送的消息。有人知道这是怎么回事吗?

EN

回答 1

Stack Overflow用户

发布于 2018-04-03 22:37:29

我认为问题出在socketTextStream上。

代码语言:javascript
复制
ssc.socketTextStream(TCP_IP, TCP_PORT)

这一行是行为的罪魁祸首。你能试试StreamingContext类的socketStream方法吗?

可能需要提供一个自定义转换器对象才能使用此方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49624919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档