python计算结果传给spark_python将csv数据发送到spark streaming
我想尝试在python中加载一个csv数据,并通过spark流来流化每一行spark。在
我对网络很陌生。如果我要创建一个服务器python脚本,一旦它建立了连接(使用spark streaming),它就会开始发送每一行。在Spark流媒体文档中,他们做了一个nc-l9999,如果im正确,这是一个netcat服务器监听9999端口。所以我尝试创建一个类似的python脚本来解析csv并发送到60000端口import socket # Import socket module
import csv
port = 60000 # Reserve a port for your service.
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
print('Server listening....')
while True:
conn, addr = s.accept() # Establish connection with client.
print('Got connection from', addr)
csvfile = open('Titantic.csv', 'rb')
reader = csv.reader(csvfile, delimiter = ',')
for row in reader:
line = ','.join(row)
conn.send(line)
print(line)
csvfile.close()
print('Done sending')
conn.send('Thank you for connecting')
conn.close()
SPark流脚本-
^{pr2}$
当运行spark脚本(这是在Jupyter笔记本电脑btw)我得到这个错误-
IllegalArgumentException:“要求失败:未注册输出操作,因此没有要执行的内容”
我不认为我做了我的套接字脚本,但我真的不知道该怎么做我基本上尝试复制nc-lk 9999的功能,这样我就可以通过端口发送文本数据,然后spark streaming正在监听它并接收数据并处理它。在
任何帮助都将不胜感激