Dans Hive, lorsque nous faisons une requête (telle que: select * from employee
), nous n'obtenons aucun nom de colonne dans la sortie (tel que nom, âge, salaire que nous aurions dans SGBDR RDBMS ), nous obtenons uniquement les valeurs.
Existe-t-il un moyen d'obtenir l'affichage des noms de colonne avec la sortie lorsque vous exécutez une requête?
Si nous voulons voir les noms de colonnes de la table dans HiveQl, la propriété Hive conf suivante doit être définie sur true.
Hive> set Hive.cli.print.header=true;
Si vous préférez toujours voir les noms de colonne, mettez à jour le fichier $ HOME/.hiverc avec le paramètre ci-dessus dans la première ligne.
--Hive recherche automatiquement un fichier nommé .hiverc dans votre répertoire HOME et exécute les commandes qu'il contient, le cas échéant
Pour imprimer l'en-tête avec la sortie, la propriété Hive conf suivante doit être définie sur true avant d'exécuter la requête.
Hive> set Hive.cli.print.header=true;
Hive> select * from table_name;
Nous pouvons également utiliser une requête comme celle-ci si nous voulons obtenir un résultat dans un fichier.
Hive -e 'set Hive.cli.print.header=true;select * from table_name;' > result.xls
Où nom_table votre nom de table
Toutes les réponses ci-dessus répondent déjà à la question. Mais si quelqu'un veut que cette propriété soit activée en permanence, il existe cette propriété: Hive.cli.print.header
dans Hive-default.xml
ou Hive-site.xml
.
Sa valeur par défaut est false. Définissez sa valeur sur true et enregistrez . Terminé.
La plupart des solutions sont précises.
définir la propriété Hive.cli.print.header = true
fonctionne.
Mais si vous utilisez une distribution Cloudera, HDP ou toute autre distribution, celles-ci seront réinitialisées. Par conséquent, mettez à jour ces valeurs dans les configurations Hive et redémarrez les services.
Ce sera une solution permanente. J'espère que cela t'aides.
Définissez cette propriété avant d'exécuter votre requête:
Hive> set Hive.cli.print.header=true;
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
Utilisez 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