hadoop - ¿Hay alguna forma de obtener el nombre de columna junto con el resultado mientras se ejecuta una consulta en Hive?
rdbms (7)
Establezca esta propiedad antes de ejecutar su consulta:
hive> set hive.cli.print.header=true;
En Hive, cuando hacemos una consulta (como: select * from employee
), no obtenemos ningún nombre de columna en el resultado (como el nombre, la edad, el salario que obtendríamos en RDBMS SQL ), solo obtenemos los valores.
¿Hay alguna forma de que los nombres de las columnas se muestren junto con el resultado cuando se ejecuta una consulta?
La mayoría de las soluciones son precisas.
estableciendo la propiedad hive.cli.print.header = true
works.
Pero si está utilizando cloudera, HDP o cualquier otra distribución, estos se reiniciarán. Por lo tanto, actualice estos valores en las configuraciones de Hive y reinicie los servicios.
Esto será una solución permanente. espero que esto ayude.
Para imprimir el encabezado junto con el resultado, la siguiente propiedad de la confguración de la colmena debe establecerse en verdadero antes de ejecutar la consulta.
hive> set hive.cli.print.header=true;
hive> select * from table_name;
También podemos utilizar una consulta como esta, si queremos obtener un resultado en el archivo.
hive -e ''set hive.cli.print.header=true;select * from table_name;'' > result.xls
Donde nombre_tabla su nombre de tabla
Si queremos ver los nombres de las columnas de la tabla en HiveQl, la siguiente propiedad col de hive debe establecerse en verdadero.
hive> set hive.cli.print.header=true;
Si prefiere ver los nombres de las columnas siempre, actualice el archivo $ HOME / .hiverc con la configuración anterior en la primera línea.
--Hive automáticamente busca un archivo llamado .hiverc en su directorio HOME y ejecuta los comandos que contiene, si hay alguno
Todas las respuestas anteriores ya responden la pregunta. Pero en caso de que alguien quiera que esta propiedad esté activada permanentemente, entonces existe esta propiedad: hive.cli.print.header
en hive-default.xml
o hive-site.xml
.
Su valor predeterminado es falso. Haz que su valor sea verdadero y salva. Hecho.
Use 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
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