我是Spark Streaming的新手。在PyCharm中使用PySpark我无法通过socketTextStream初始化。
def start_streaming (self):
sp = SparkContext('local[2]', 'streamingTest')
stream = StreamingContext(sp, 1)
**items = stream.socketTextStream('localhost', '9009')**
print(items)
lines = items.flatMap(lambda line : line.split('\n'))
我收到以下错误。关于问题是什么的任何想法?
Traceback(最近一次调用最后一次):文件 “/Users/egorkorneev/PycharmProjects/BasicStreaming/SparkConsumer.py” 第75行,在dc.start_streaming()文件中 “/Users/egorkorneev/PycharmProjects/BasicStreaming/SparkConsumer.py” 第40行,在start_streaming items =中 stream.socketTextStream('localhost','9009')文件 “/Users/egorkorneev/rnd/spark-1.6.1-bin-hadoop2.6/python/pyspark/streaming/context.py” 第352行,在socketTextStream中返回 DStream(self._jssc.socketTextStream(hostname,port,jlevel),self, 文件 “/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/py4j/java_gateway.py” 第933行,在调用回答中,self.gateway_client,self.target_id, self.name)文件 “/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/py4j/protocol.py” 第316行,采用get_return_value格式(target_id,“。”,名称,值)) py4j.protocol.Py4JError:调用时发生错误 o19.socketTextStream。跟踪:py4j.Py4JException:方法 socketTextStream([类java.lang.String,类java.lang.String, class org.apache.spark.storage.StorageLevel])不存在于 py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:335) 在 py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:344) 在py4j.Gateway.invoke(Gateway.java:252)at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133) 在py4j.commands.CallCommand.execute(CallCommand.java:79)at py4j.GatewayConnection.run(GatewayConnection.java:209)at java.lang.Thread.run(Thread.java:745)
Spark 1.6.1
答案 0 :(得分:1)
端口号应为整数值。
items = stream.socketTextStream(' localhost',9009)