Невозможно скопировать локальный файл Python в HIVE с помощью терминала - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь загрузить файл Python (для UDF) из локальной папки «Загрузки» в HIVE, но безуспешно. Я использовал команду:

scp -P 2222 ~/Downloads/geohash-udf.py root@localhost:/root/;

Однако я получил следующие сообщения об ошибках:

enter image description here

Я также попытался добавить файл непосредственно из моего локального каталога, выполнив следующую команду:

hive> add file /Users/Shaolun/Downloads/geohash-udf.py;

Но я получил эту ошибку:

Query returned non-zero code: 1, cause: /Users/Shaolun/Downloads/geohash-udf.py does not exist.

Я также пытался сначала поместить файл в HDFS, а затем получить файл из HDFS, используя следующую команду:

hive> add file hdfs:///user/root/geohash-udf.py;

Команда сработала как положено. Но я не хочу этого, потому что хочу, чтобы HIVE мог получить файл Python с моей локальной машины Windows, а не с HDFS.

Точный локальный путь к моему файлу Python: «C: /Users/Shaolun/Downloads/geohash-udf.py», а моя ОС - Windows 10. Я не понимаю, почему я не могу загрузить файл Python. в улей. Любая помощь / предложение будет принята с благодарностью!

1 Ответ

0 голосов
/ 10 сентября 2018

scp - это команда unix, а не команда hive.

Пожалуйста, запустите ту же команду с вашего терминала unix , и она будет работать.

Что касается вашей второй проблемы, вы не можете получить доступ к своему файлу windows с терминала hive, вы можете получить доступ только к файлу, который находится в hdfs.

Вы можете запустить следующую команду с хоста Unix.

 hdfs dfs -put <filename> <hdfs_path> 
...