Есть ли способ получить имя столбца вместе с выводом при выполнении любого запроса в Hive?
В Hive, когда мы выполняем запрос (например: select * from employee
), мы не получаем никаких имен столбцов в выходе (например, имя, возраст, зарплата, которую мы получаем в СУБД SQL), мы получаем только значения.
Есть ли способ, чтобы имена столбцов отображались вместе с выходом при выполнении любого запроса?
Ответы
Ответ 1
Если мы хотим увидеть имена столбцов таблицы в HiveQl, следующее свойство conf для hive должно быть установлено в true.
hive> set hive.cli.print.header=true;
Если вы предпочитаете видеть имена столбцов, всегда обновляйте файл $HOME/.hiverc с приведенной выше настройкой в первой строке.
- Hive автоматически ищет файл с именем .hiverc в вашем каталоге HOME и запускает команды, которые он содержит, если есть
Ответ 2
Чтобы напечатать заголовок вместе с выходом, перед выполнением запроса должно быть установлено следующее свойство conf для hive.
hive> set hive.cli.print.header=true;
hive> select * from table_name;
Мы также можем использовать такой запрос, если хотим получить результат в файле.
hive -e 'set hive.cli.print.header=true;select * from table_name;' > result.xls
Где имя_таблицы имя вашей таблицы
Ответ 3
Все выше ответы уже отвечают на вопрос. Но в случае, если кто-то хочет, чтобы это свойство постоянно включалось, тогда это свойство: hive.cli.print.header
в hive-default.xml
или hive-site.xml
.
Значение по умолчанию - false. Сделайте его значение истинным и сохраните.
Готово.
Ответ 4
Задайте это свойство перед выполнением запроса:
hive> set hive.cli.print.header=true;
Ответ 5
Большинство решений являются точными.
настройка свойства hive.cli.print.header = true
работает.
Но если вы используете cloudera, HDP или любые другие дистрибутивы, это будет reset. Поэтому обновите это значение в конфигурациях Hive и перезапустите службы.
Это будет постоянное исправление. надеюсь, что это поможет.
Ответ 6
Используйте set hive.cli.print.header=true;
hive> set hive.cli.print.header=true;
hive> select * from tblemployee;
OK
id name gender salary departmentid
1 tomr male 40000 1
2 cats female 30000 2
3 john male 50000 1
4 james male 35000 3
5 sara female 29000 2
6 bens male 35000 1
7 saman female 30000 NULL
8 russel male 40000 2
9 valar female 30000 1
10 todd male 95000 NULL
Time taken: 9.892 seconds
Ответ 7
1)Permenant solution
change this property in hive-site.xml file under $HIVE_HOME/conf folder
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.
</description>
</property>
2)Temporary solution:
go to hive prompt execute this comman
hive>set hive.cli.print.header=True