Луиджи: Нет такой ошибки файла или каталога при отправке задачи PySpark - PullRequest
0 голосов
/ 08 января 2020

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

Как говорит субъект, я пытаюсь выполнить очень простую задачу pyspark, но получаю «OSError: [Errno 2] Нет такого файла или каталога».

В моей работе У меня есть каталог ...

  • luigi.cfg
  • sparkLuigiTest.py

Мой файл конфигурации содержит ...

[spark]
spark-submit:$SPARK_HOME/bin/spark-submit
master:yarn
num-executors:10

Файл * .py содержит ...

import luigi
from luigi.contrib.spark import PySparkTask

class Test(PySparkTask):
    def input(self):
        return None

    def output(self):
        return luigi.LocalTarget("output.csv")

    def main(self, sc, *args):
        data = [(1,2,3), (4,5,6), (7,8,9)]
        data = sc.createDataFrame(data, ["A", "B", "C"])

        df = data.toPandas()
        df.to_csv("/u/<user name>/tests/luigi_woo.csv")

if __name__ == "__main__":
    luigi.run()

Наконец, я запускаю свой скрипт с

LUIGI_CONFIG_PATH=./luigi.cfg python ./sparkLuigiTest.py --local-scheduler Test

Любые идеи о том, почему я получаю следующую ошибку?

ERROR: [pid 1678418] Worker Worker(salt=778216410, workers=1, host=hpchdp2e, username=<name>, pid=1678418) failed    Test()
Traceback (most recent call last):
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/site-packages/luigi/worker.py", line 199, in run
    new_deps = self._run_get_new_deps()
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/site-packages/luigi/worker.py", line 141, in _run_get_new_deps
    task_gen = self.task.run()
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/site-packages/luigi/contrib/spark.py", line 309, in run
    super(PySparkTask, self).run()
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/site-packages/luigi/contrib/spark.py", line 66, in run
    super(SparkSubmitTask, self).run()
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/site-packages/luigi/contrib/external_program.py", line 134, in run
    with self._proc_with_tracking_url_context(proc_args=args, proc_kwargs=kwargs) as proc:
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/site-packages/luigi/contrib/external_program.py", line 168, in _proc_with_tracking_url_context
    main_proc = subprocess.Popen(proc_args, **proc_kwargs)
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/s/anaconda/users/<name>/miniconda2/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
...