py4j.Py4JException:方法socketTextStream不存在

时间:2016-05-26 21:33:02

标签: pycharm pyspark py4j

我是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

1 个答案:

答案 0 :(得分:1)

端口号应为整数值。

items = stream.socketTextStream(' localhost',9009)