0
我想从一个Android应用程序“IMU + GPS sensorstream”链路接收数据: https://play.google.com/store/apps/details?id=de.lorenz_fenster.sensorstreamgps&hl=enTCP连接,蟒蛇
我需要一个火花DSTREAM出来。但我收到以下错误。
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
spc = SparkContext(appName="testReceive")
stc = StreamingContext(spc, 5)
#Is there an error in below line?
lines = stc.socketTextStream("localhost" , 5555)
words = lines.flatMap(lambda line: line.split(" "))
pairs = words.map(lambda word: (word, 1))
wordCounts = pairs.reduceByKey(lambda x, y: x + y)
wordCounts.pprint()
stc.start()
stc.awaitTermination()
ERROR :
-------------------------------------------
Time: 2016-12-06 10:48:55
-------------------------------------------
16/12/06 10:48:55 WARN ReceiverSupervisorImpl: Restarting receiver with delay 2000 ms: Error connecting to localhost:5555
java.net.ConnectException: Connection refused (Connection refused)
我已转发正在使用的端口'5555'。
如果我使用下面的程序来接收它成功数据。 因此以类似的方式我怎么能接收数据,使之成为火花流。
请帮帮忙,坚持了一个多星期更现在!。
import socket, traceback
host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.bind((host, port))
while True:
try:
message, address = s.recvfrom(8192)
message = message.decode()
data = message.split(",")
print(data)
except (KeyboardInterrupt, SystemExit):
raise
except:
traceback.print_exc()