Добавление локальных файлов в Билайн (Hive)

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

[test@test-001 tmp]$ touch /tmp/m.py
[test@test-001 tmp]$ stat /tmp/m.py 
  File: ‘/tmp/m.py’
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 34091464    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1036/ test)   Gid: ( 1037/ test)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2017-02-27 22:04:06.527970709 +0000
Modify: 2017-02-27 22:04:06.527970709 +0000
Change: 2017-02-27 22:04:06.527970709 +0000
 Birth: -
[test@test-001 tmp]$ beeline -u jdbc:hive2://hs2-test:10000/default -n r-zubis
Connecting to jdbc:hive2://hs2-test:10000/default
Connected to: Apache Hive (version 1.2.1.2.3.0.0-2557)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.2.1 by Apache Hive
0: jdbc:hive2://hs2-test:10000/def> ADD FILE '/tmp/m.py';
Error: Error while processing statement: '/tmp/m.py' does not exist (state=,code=1)
0: jdbc:hive2://hs2-test:10000/def> 

В чем проблема?

2 ответа

Вы можете добавлять файлы только в том окне, на котором запущен HiveServer2. (и мне нужно было удалить цитаты) Я нашел это через комментарий блога на Cloudera. Не уверен, почему этого нет в документах Билайн.

Если, как и я, вы застряли в положении, где HiveServer2 работает удаленно, Beeline позволит вам загружать файлы из HDFS,

hdfs fs -put /tmp/m.py

затем

beeline> add file hdfs:/user/homedir/m.py;
Другие вопросы по тегам