5

在运行 python spark 结构化流
http://spark.apache.org/docs/latest/structured-streaming-programming-guide.html的编程指南[链接]中给出的示例

我得到以下错误:
TypeError:'Builder'对象不可调用

from pyspark.sql import SparkSession
from pyspark.sql.functions import explode
from pyspark.sql.functions import split

spark = SparkSession.builder()\
    .appName("StructuredNetworkWordCount")\
    .getOrCreate()

# Create DataFrame representing the stream of input lines from connection to localhost:9999
lines = spark\
   .readStream\
   .format('socket')\
   .option('host', 'localhost')\
   .option('port', 9999)\
   .load()

# Split the lines into words
words = lines.select(
   explode(
       split(lines.value, ' ')
   ).alias('word')
)

# Generate running word count
wordCounts = words.groupBy('word').count()

# Start running the query that prints the running counts to the console
query = wordCounts\
    .writeStream\
    .outputMode('complete')\
    .format('console')\
    .start()

query.awaitTermination()

错误 :

omkar@rudra:~/thesis/backUp$ spark-submit structured.py 
Traceback (most recent call last):
  File "/home/omkar/thesis/backUp/structured.py", line 8, in <module>
    spark = SparkSession.builder()\
TypeError: 'Builder' object is not callable
4

1 回答 1

13

为了

spark = SparkSession.builder()\
    .appName("StructuredNetworkWordCount")\
    .getOrCreate()

将 .builder() 修改为 .builder 为:

spark = SparkSession.builder\
    .appName("StructuredNetworkWordCount")\
    .getOrCreate()

来源:https ://issues.apache.org/jira/browse/SPARK-18426

于 2016-12-27T23:37:10.767 回答