#json #jar #hive #brickhouse
#json #jar #улей #кирпичный дом
Вопрос:
Я пытаюсь записать данные таблицы улья во внешний файл в формате Json.
({"column_name_1: column_value_1", "column_name_2: column_value_2"}).
Может ли serde это сделать? Я прочитал, что serde считывает данные только в формате json, но не записывает их обратно.
Я читал о brickhouse, но я не могу правильно добавить jar.
Я выполнил все шаги в документации по ссылке, приведенной выше, но это не удалось. Правильно ли я это делаю?
add jar /root/brickhouse/target/brickhouse-0.7.1-SNAPSHOT.jar;
/root/brickhouse/target/brickhouse-0.7.1-SNAPSHOT.jar does not exist
Query returned non-zero code: 1, cause: /root/brickhouse/target/brickhouse-0.7.1-SNAPSHOT.jar does not exist
Ответ №1:
- Чтобы добавить Jar в HIVE_AUX_JARS_PATH сервера HiveServer2:
- Скопируйте brickhouse-0.7.1-SNAPSHOT.jar файлы на хост, на котором запущен сервер HiveServer2. Создайте следующий каталог /usr/share/hivejar и сохраните здесь JAR.
- Изменить hive-site.xml Выполнение следующих команд на терминале:
sudo vi /etc/alternatives/hive-conf/hive-site.xml: <property> <name>hive.metadata.export.location</name> <value>export HIVE_AUX_JARS_PATH=/usr/share/hivejar</value> </property>
- Перезапустите службу Hive. Если свойство каталога Hive Auxiliary Jars настроено, но каталог не существует, HiveServer2 не запустится.
- Чтобы проверить переменные ENV улья, выполните следующие команды на терминале:
hive hive> set -v; hive> quit;
- Выполните следующие команды на терминале (в /usr/share/hivejar ):
hive hive> add jar brickhouse-0.7.1-SNAPSHOT.jar; hive> quit;
Комментарии:
1. Спасибо, еще один вопрос: как мне «Использовать объявления UDF, определенные в src /main/resource/brickhouse.hql»?
2. После добавления jar создайте временную функцию следующим образом: CREATE TEMPORARY FUNCTION to_json КАК ‘brickhouse.udf.json. ToJsonUDF’;