我在pyspark中使用sparkDataframe并尝试使用spacy\u解析。我遇到了麻烦,因为在python中,运行spacy\u parse()并用我的所有结果(token、lemma、pos等)生成一个新的Dataframe非常简单。我不知道如何在pyspark中做到这一点,因为我只知道withcolumn功能一次添加一个新列,而不是创建一个完整的新Dataframe。我有一个复习句子的数据集,如下所示:
SENTENCE_ID REVIEW_SENTENCE
1 Love it.
2 Worked awesome.
3 This thing sucks.
我想要表单的输出:
SENTENCE_ID REVIEW_SENTENCE TOKEN LEMMA
1 Love it. (love, it) (love, it)
2 Worked awesome. (worked, awesome) (work, awesome)
3 This thing sucks. (this, thing, sucks) (this, thing, suck)
我尝试使用的代码失败了,因为它生成了多个列作为输出。
import spacy
from pyspark.sql.functions import udf
nlp = spacy.load("en_core_web_sm")
def spacy_test(text_col):
return spacy_parse(text_col)
spacy_udf = udf(spacy_test)
reviews_test = reviews.withColumn('spacy_output', spacy_udf('REVIEW_SENTENCE'))
暂无答案!
目前还没有任何答案,快来回答吧!