#hive #impala #beeline
Вопрос:
Окружающая среда
Beeline версии 1.1.0-cdh5.13.0 от Apache Hive
Контекст
Мне нужно выполнить несколько инструкций select с beeline и обработать результаты позже.
Однако вывод beeline не читается, даже не «обрабатывается».
Код
Я выполняю следующую команду:
beeline -u $IMPALA_URL -n writer -p writer --outputformat=tsv2 -e "select * from bas_fca.table_info" > results 2> errors
Выход
Содержимое results
файла:
-----------------------------
table type creation_date
Содержимое errors
файла:
2021-06-14 14:39:03,580 WARN [main] mapreduce.TableMapReduceUtil: The hbase-prefix-tree module jar containing PrefixTreeCodec is not present. Continuing without it.
scan complete in 2ms
Connecting to jdbc:hive2://mynodes:21050/
Connected to: Impala (version 2.10.0-cdh5.13.0)
Driver: Hive JDBC (version 1.1.0-cdh5.13.0)
Transaction isolation: TRANSACTION_REPEATABLE_READ
cu_ddi.activ_from_api
cu_ddi.cumul_from_api
cu_ddi.data_from_api
cu_ddi.envoi_from_api
cu_ddi.inscript
cu_ddi.tmp
No rows selected (0.098 seconds)
Beeline version 1.1.0-cdh5.13.0 by Apache Hive
Closing: 0: jdbc:hive2://mynodes:21050/
Ожидаемый результат
При выполнении вышеуказанного запроса в Hue у меня есть следующие результаты:
cu_ddi.activ_from_api EXTERNAL_TABLE 2020-01-29 16:13:18
cu_ddi.cumul_from_api EXTERNAL_TABLE 2020-01-22 09:04:47
cu_ddi.data_from_api EXTERNAL_TABLE 2020-01-21 15:05:58
cu_ddi.envoi_from_api EXTERNAL_TABLE 2020-01-29 16:12:25
cu_ddi.inscript EXTERNAL_TABLE 2019-10-25 11:35:03
cu_ddi.tmp MANAGED_TABLE 2020-01-21 15:06:40
Вопросы
- Почему у меня есть только имена таблиц ?
- Почему неполные результаты записываются в STDERR ?
- Как получить результаты в обрабатываемом формате (CSV и т.д.) ?
Правка 1
- По просьбе Кошика Роя.
Выход из:
beeline -u $IMPALA_URL -n writer -p writer -e "select * from bas_fca.table_info" > results
cat results
-------- ------- ---------------- --
| table | type | creation_date |
-------- ------- ---------------- --
-------- ------- ---------------- --
Комментарии:
1. Для дампа данных impala вы можете использовать
inpala-shell -o output_file -q "query"
. beeline должен работать с hive. Вывод — я не уверен в формате, который вы используете. можете ли вы использовать простой формат и посмотреть, как он себя ведетbeeline -u jdbc:hive2://host_ip/ -f hive.hql >output.txt
2. @KoushikRoy Я добавил запрошенный вывод. Я загляну в раковину импалы. Я не знал, что он доступен в моем кластере.