0

Я использую искру 1.5.0прочитать содержание Колонка <COLUMN-NAME> в pyspark

У меня есть кадр данных, созданный, как показано ниже, и я пытаюсь прочитать колонку здесь

>>> words = tokenizer.transform(sentenceData) 
>>> words 
DataFrame[label: bigint, sentence: string, words: array<string>] 
>>> words['words'] 
Column<words> 

Я хочу прочитать все слова (vocab) из предложений. Как я могу прочитать

Edit 1: ошибка все еще превалирует

теперь я побежал это в искры 2.0.0 и получаю эту ошибку

>>> wordsData.show() 
+--------------------+--------------------+ 
|    desc|    words| 
+--------------------+--------------------+ 
|Virat is good bat...|[virat, is, good,...| 
|  sachin was good| [sachin, was, good]| 
|but modi sucks bi...|[but, modi, sucks...| 
| I love the formulas|[i, love, the, fo...| 
+--------------------+--------------------+ 

>>> wordsData 
DataFrame[desc: string, words: array<string>] 


>>> vocab = wordsData.select(explode('words')).rdd.flatMap(lambda x: x) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/pyspark/rdd.py", line 305, in flatMap 
    return self.mapPartitionsWithIndex(func, preservesPartitioning) 
    File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/pyspark/rdd.py", line 330, in mapPartitionsWithIndex 
    return PipelinedRDD(self, f, preservesPartitioning) 
    File "/opt/BIG-DATA/spark-2.0.0-bin-hadoop2.7/python/pyspark/rdd.py", line 2383, in __init__ 
    self._jrdd_deserializer = self.ctx.serializer 
AttributeError: 'SparkSession' object has no attribute 'serializer' 

Разрешение для Edit - 1 - Link

ответ

1

Вы можете:

from pyspark.sql.functions import explode 

words.select(explode('words')).rdd.flatMap(lambda x: x) 
+0

Пожалуйста, помогите, он не работает –

Смежные вопросы