Исходная виртуальная среда Python для Hive UDF - PullRequest
0 голосов
/ 22 октября 2018

Я использую виртуальную среду Python для загрузки модулей, которые недоступны в нашем кластере для использования в Hive UDF.Я не могу найти источник venv, поэтому, когда в сценарии оболочки вызывается UDF Python, сценарий выдает ошибки, поскольку модули не могут быть найдены.

При вызове ls из сценария оболочки venv появляется вlist.

DELETE FILE /temp/venv;
ADD FILE /temp/venv;
DELETE FILE udf.sh;
ADD FILE udf.sh;

SOURCE venv/bin/activate;

SELECT TRANSFORM(1)
  USING 'bash udf.sh'
AS (test_result)

Результаты в файле: venv / bin / activ - это не файл.

SOURCE ../venv/bin/activate;

Результаты в FAILED: ParseException строка 1: 2 не может распознать ввод рядом с 'This''file' 'must'

В сценарии оболочки, если я попытаюсь использовать:

. venv/bin/activate

Возвращает код выхода 1.

Есть мысли?

Спасибо, Дейв


Решено с помощью этого: https://stackoverflow.com/a/23069201/10542262

В сценарии оболочки вместо выполнения:

python [path]/[script].py

Вы можете вызватьPython из venv и больше не нужно активировать venv.

[path/to/venv/]/bin/python [path]/[script].py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...