私はPySparkを通じてSpark Streamingを調べていて、take
でtransform
関数を使用しようとするとエラーが発生します。pformparkのTransformed DStreamは、pprintが呼び出されたときにエラーを返します
DStream
とtransform
とpprint
を使って正常にsortBy
を使用できます。私は同じパターン、次のtake
を使用してpprint
にそれをしようとした場合
author_counts_sorted_dstream = author_counts_dstream.transform\
(lambda foo:foo\
.sortBy(lambda x:x[0].lower())\
.sortBy(lambda x:x[1],ascending=False))
author_counts_sorted_dstream.pprint()
しかし:
top_five = author_counts_sorted_dstream.transform\
(lambda rdd:rdd.take(5))
top_five.pprint()
ジョブが
Py4JJavaError: An error occurred while calling o25.awaitTermination. : org.apache.spark.SparkException: An exception was raised by Python: Traceback (most recent call last): File "/usr/local/spark/python/pyspark/streaming/util.py", line 67, in call return r._jrdd AttributeError: 'list' object has no attribute '_jrdd'
で失敗あなたは完全なコードを見ることができますthe notebook hereに出力します。
私は間違っていますか?