#bash #shell #hive #hortonworks-sandbox
#bash #оболочка #улей #hortonworks-песочница
Вопрос:
Я создал кластер hadoop с использованием виртуальной машины hortonworks sanbox в Windows. Для этого я использую putty SSH. Я хочу добавить пользовательский jsonserde jar в hive. Я использую add jar
command, но получаю сообщение об ошибке типа
-bash: добавить: команда не найдена.
Это для putty ssh
add jar /usr/hdp/2.5.0.0-1245/hive/lib/json-serde-1.3.7-SNAPSHOT-jar-with-dependencies.jar;
Я ожидаю, что это jar
будет добавлено к указанному пути.
Ответ №1:
ADD JAR
это команда Hive, а не оболочка. Подробнее читайте здесь: HiveResources
Выполните ее в скрипте Hive в том же сеансе перед использованием в запросе.
Пример:
hive> add jar /usr/lib/sqoop/lib/jtds-1.2.jar;
Hive печатает:
Added [/usr/lib/sqoop/lib/jtds-1.2.jar] to class path
Added resources: [/usr/lib/sqoop/lib/jtds-1.2.jar]
Комментарии:
1. как подтвердить, был ли добавлен jar? Это показывает, что jar добавлен в путь к классу. Где я могу увидеть этот путь к классу?
2.
list files;
Команда Hive покажет все добавленные файлы; Не знаю, как вывести путь к классу из hive.3. @DeepenPatel Hive выводит сообщение о том, что оно было добавлено в classpath и ресурсы в распределенном кэше. Обновлен ответ с примером
4. @DeepenPatel нашли, как вывести путь к классу из улья: улей> выберите java_method(‘java.lang. System’,’getProperty’,’java.class.path’); Но в моем случае он не печатает недавно добавленный jar, хотя он работает