无法应用Spark用户定义的功能

时间:2018-08-02 13:43:20

标签: pyspark apache-spark-sql user-defined-functions

我已经尝试了很多次来应用一个函数,该函数对包含一些文本字符串的spark Dataframe进行了一些修改。下面是相应的代码,但它总是给我这个错误:

  

调用o699.showString时发生错误。
  :org.apache.spark.SparkException:由于阶段失败而导致作业中止:阶段27.0中的任务0失败1次,最近一次失败:阶段27.0中的任务0.0丢失(TID 29,本地主机,执行程序驱动程序):

import os
import sys
from pyspark.sql import SparkSession

#!hdfs dfs -rm -r nixon_token*

spark = SparkSession.builder \
          .appName("spark-nltk") \
          .getOrCreate()

data = spark.sparkContext.textFile('1970-Nixon.txt')

def word_tokenize(x):
    import nltk
    return str(nltk.word_tokenize(x))
test_tok = udf(lambda x: word_tokenize(x),StringType())
resultDF = df_test.select("spans", test_tok('spans').alias('text_tokens'))
resultDF.show()

0 个答案:

没有答案