Как исправить ошибку NLTK pyspark с помощью OSError: [WinError 123]? - PullRequest
0 голосов
/ 06 апреля 2020

Я получил неожиданную ошибку при запуске преобразования RDD в DataFrame:

import nltk
from nltk import pos_tag
my_rdd_of_lists = df_removed.select("removed").rdd.map(lambda x: nltk.pos_tag(x))
my_df = spark.createDataFrame(my_rdd_of_lists)

Эта ошибка появляется всегда, когда я вызываю функцию nltk od rdd. Когда я сделал эту строку с помощью любого метода numpy, он не потерпел неудачу.

Код ошибки:

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 14.0 failed 1 times, most recent failure: Lost task 0.0 in stage 14.0 (TID 323, localhost, executor driver): org.apache.spark.api.python.PythonException: Traceback (most recent call last):

И

OSError: [WinError 123] Nazwa pliku, nazwa katalogu lub składnia etykiety woluminu jest niepoprawna: 'C:\\C:\\Users\\Olga\\Desktop\\Spark\\spark-2.4.5-bin-hadoop2.7\\jars\\spark-core_2.11-2.4.5.jar'

Итак, вот часть, которую я не знаю, как решить. Я думал, что это проблема с переменными окружения, но, похоже, все в порядке:

SPARK HOME: C:\Users\Olga\Desktop\Spark\spark-2.4.5-bin-hadoop2.7

Я также напечатал свой sys.path:

import sys
for i in sys.path:
    print(i) 

И получил:

C:\Users\Olga\Desktop\Spark\spark-2.4.5-bin-hadoop2.7\python
C:\Users\Olga\AppData\Local\Temp\spark-22c0eb38-fcc0-4f1f-b8dd-af83e15d342c\userFiles-3195dcc7-0fc6-469f-9afc-7752510f2471
C:\Users\Olga\Desktop\Spark\spark-2.4.5-bin-hadoop2.7\python\lib\py4j-0.10.7-src.zip
C:\Users\Olga
C:\Users\Olga\Anaconda3\python37.zip
C:\Users\Olga\Anaconda3\DLLs
C:\Users\Olga\Anaconda3\lib
C:\Users\Olga\Anaconda3

C:\Users\Olga\Anaconda3\lib\site-packages
C:\Users\Olga\Anaconda3\lib\site-packages\win32
C:\Users\Olga\Anaconda3\lib\site-packages\win32\lib
C:\Users\Olga\Anaconda3\lib\site-packages\Pythonwin
C:\Users\Olga\Anaconda3\lib\site-packages\IPython\extensions
C:\Users\Olga\.ipython

Здесь также все выглядит хорошо для меня. Пожалуйста, помогите, я не знаю, что делать. Более ранние части кодов работали без ошибок. Должен ли я установить nltk любым другим способом, чтобы запустить его с помощью spark?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Кажется, что это была какая-то проблема с пакетами.

Я удалил nltk, pandas и numpy с pip, а затем сделал то же самое, но с conda.

После этого я перечислил свои пакеты и обнаружил один странный пакет под названием package, который казался ошибкой, под названием «-umpy».

Я даже не мог удалить его - нет с помощью командной строки, ни с помощью навигатора Anaconda. Поэтому я просто нашел его в файлах на моем компьютере и удалил. Затем я установил nltk еще раз.

После этого он начал работать правильно, и ошибка не появилась.

0 голосов
/ 06 апреля 2020

Хай Милва, чтобы устранить ошибку ОС в вашем коде, вы можете просто импортировать ОС, чтобы все права на запуск вашей программы давались такому коду:

{{{import os}}}

Надеюсь, этот ответ поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...