【发布时间】:2019-02-28 20:17:46
【问题描述】:
我有一列 pyspark.sql.dataframe.DataFrame (cmets) 它看起来像这样:
+--------------------+
| comment|
+--------------------+
| nan|
| nan|
| nan|
|So far it has per...|
|I purchased it fo...|
+--------------------+
我直接从这个数据框中映射了一个函数:
tokens_rdd = comments.select('comment').rdd.flatMap(lambda x: word_tokenizer(x))
在此之后,我将 RDD 转换回数据框,如下所示:
tokens = sq.createDataFrame(tokens_rdd,comments.schema)
在此之后,我尝试显示数据框的前五行,但出现以下错误:
Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.runJob.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 2.0 failed 1 times, most recent failure: Lost task 0.0 in stage 2.0 (TID 3, localhost, executor driver): java.net.SocketException: Connection reset
我在本地使用 pyspark 2.4.0,我正在映射的功能是:
def word_tokenizer(x):
import nltk
lowerW = x.lower()
return nltk.word_tokenize(x)
我尝试了一些将RDD转换为DF的方法,但我没有成功显示数据,也许有人可以帮我弄清楚。
提前致谢。
【问题讨论】:
标签: python apache-spark pyspark