Работа с базами данных PySpark Job постоянно отменяется - PullRequest
0 голосов
/ 03 января 2019

Я использую записную книжку Databricks в Azure, и у меня была отличная записная книжка Pyspark, которая вчера работала хорошо весь день.Но затем в конце дня я заметил странную ошибку в коде, который, как я знал, работал ранее: org.apache.spark.SparkException: Job aborted due to stage failure: Task from application

Но так как было поздно, я оставил его до сегодняшнего дня.Сегодня я попытался создать новый кластер с запущенным кодом, и на этот раз он просто говорит, что моя работа была «отменена»

На самом деле я только что попытался запустить 1 одну строку кода:

filePath = "/SalesData.csv"

и даже это было отменено.

Редактировать:

Вот журнал ошибок std из Azure:

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=512m; support was removed in 8.0
/databricks/python/lib/python3.5/site-packages/IPython/config/loader.py:38: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.
  from IPython.utils.traitlets import HasTraits, List, Any, TraitError
Fri Jan  4 16:51:08 2019 py4j imported
Fri Jan  4 16:51:08 2019 Python shell started with PID  2543  and guid  86405138b8744987a1df085e4454bb5d
Could not launch process The 'config' trait of an IPythonShell instance must be a Config, but a value of class 'IPython.config.loader.Config' (i.e. {'HistoryManager': {'hist_file': ':memory:'}, 'HistoryAccessor': {'hist_file': ':memory:'}}) was specified. Traceback (most recent call last):
  File "/tmp/1546620668035-0/PythonShell.py", line 1048, in <module>
    launch_process()
  File "/tmp/1546620668035-0/PythonShell.py", line 1036, in launch_process
    console_buffer, error_buffer)
  File "/tmp/1546620668035-0/PythonShell.py", line 508, in __init__
    self.shell = self.create_shell()
  File "/tmp/1546620668035-0/PythonShell.py", line 617, in create_shell
    ip_shell = IPythonShell.instance(config=config, user_ns=user_ns)
  File "/databricks/python/lib/python3.5/site-packages/traitlets/config/configurable.py", line 412, in instance
    inst = cls(*args, **kwargs)
  File "/databricks/python/lib/python3.5/site-packages/IPython/terminal/embed.py", line 159, in __init__
    super(InteractiveShellEmbed,self).__init__(**kw)
  File "/databricks/python/lib/python3.5/site-packages/IPython/terminal/interactiveshell.py", line 455, in __init__
    super(TerminalInteractiveShell, self).__init__(*args, **kwargs)
  File "/databricks/python/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 622, in __init__
    super(InteractiveShell, self).__init__(**kwargs)
  File "/databricks/python/lib/python3.5/site-packages/traitlets/config/configurable.py", line 84, in __init__
    self.config = config
  File "/databricks/python/lib/python3.5/site-packages/traitlets/traitlets.py", line 583, in __set__
    self.set(obj, value)
  File "/databricks/python/lib/python3.5/site-packages/traitlets/traitlets.py", line 557, in set
    new_value = self._validate(obj, value)
  File "/databricks/python/lib/python3.5/site-packages/traitlets/traitlets.py", line 589, in _validate
    value = self.validate(obj, value)
  File "/databricks/python/lib/python3.5/site-packages/traitlets/traitlets.py", line 1681, in validate
    self.error(obj, value)
  File "/databricks/python/lib/python3.5/site-packages/traitlets/traitlets.py", line 1528, in error
    raise TraitError(e)
traitlets.traitlets.TraitError: The 'config' trait of an IPythonShell instance must be a Config, but a value of class 'IPython.config.loader.Config' (i.e. {'HistoryManager': {'hist_file': ':memory:'}, 'HistoryAccessor': {'hist_file': ':memory:'}}) was specified.

Ответы [ 4 ]

0 голосов
/ 25 марта 2019

Кажется, есть проблема с установленной версией пакета IPython.Для нас это решило понизить версию IPython:

Clusters (левая панель)> Нажмите на свой кластер> Библиотеки> Install New> PyPi> в поле «Package», напишите: «ipython == 3.2.3 "> Установить

Затем перезапустите кластер.

Кроме того, у Databricks, похоже, есть еще одна похожая проблема с пакетом NumPy, возникшая у нас после исправления IPython.Если это случится и с вами, попробуйте перейти на numpy == 1.15.0 так же, как вы делали это с IPython.

0 голосов
/ 03 января 2019

похоже, что ваш кластер вошел в плохое состояние и нуждается в перезапуске. Иногда также может возникнуть сбой в базовой службе VM, и вам нужно раскрутить новый кластер с новыми узлами. Если вы не можете выполнить код, обязательно начните с перезапуска кластера.

0 голосов
/ 17 января 2019

Моя команда и я столкнулись с этой проблемой после установки пакета azureml['notebooks'] Python в наш кластер.Казалось, что установка работала, но мы получили сообщение «Отменено», пытаясь запустить ячейку кода.

Мы также получили сообщение об ошибке в нашем журнале, похожее на это в этом посте:

The 'config' trait of an IPythonShell instance must be a Config, 
  but a value of class 'IPython.config.loader.Config'...

Кажется, что некоторые пакеты Python могут конфликтовать с этим объектом Config или быть несовместимыми.Мы удалили библиотеку, перезапустили кластер, и все заработало.Надеюсь, это кому-нибудь поможет:)

0 голосов
/ 03 января 2019

Хорошо, я закончил тем, что создал еще один новый кластер, и теперь он, кажется, работает.Единственное, что я сделал по-другому, - это то, что в предыдущем кластере я установил максимальное количество узлов, чтобы он мог масштабироваться до 5. На этот раз я оставил его по умолчанию 8.

Однако я понятия не имею, если этодействительно то, что имело значение.Особенноучитывая, что вчерашние ошибки были в кластере, который ранее работал нормально.Или что сегодняшняя ошибка заключалась в выполнении очень простого кода.

...