2017-06-18 1 views
0

Dans Hive sur la machine virtuelle, j'ai créé une table nommée mytable et inséré quelques enregistrements.Erreur Hive lors de l'utilisation de la commande par

Lorsque j'exécute cette requête:

select * from mytable order by id 

Je reçois une erreur:

Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row (tag=0)

Informations supplémentaires avec le schéma, la requête et les données sont comme suit,

hive> describe mytable; 
OK 
id int 
name string 
addr string 
Time taken: 0.281 seconds 

hive> select * from mytable; 
OK 
2 tanishq akola 
1 ram kk 
Time taken: 0.271 seconds 

Can quelqu'un vous aide?

+0

Ajouter la définition de table et un échantillon de données –

+0

mytable (id int, chaîne de nom, chaîne addr) Données is- 1 ram kk, 2 Tanishq kk2 seulement 2 enregistrements. – user8167344

+0

1) Ajouter des informations supplémentaires à votre message et non comme commentaire 2) ajouter la sortie de 'show create table mytable' –

Répondre

-1

Le moyen le plus simple de contourner le problème est de définir hive.execution.engine sur mr, cela fera fonctionner la requête mais fonctionnera plus lentement.

Autre chose à essayer si vous ne l'avez pas fait est de faire une collection de statistiques sur les tables concernées. Vous pouvez le faire par:

analyser table store_sales partition (...) statistiques de calcul; analyser la table stock_sales partition (...) calculer les statistiques pour les colonnes;

Ensuite, activez hive.stats.fetch.column.stats si ce n'est pas le cas. Ensuite, exécutez la requête avec le moteur d'exécution tez.

+0

Comment cela se rapporte-t-il en aucune façon à l'exception des métadonnées ?! –

+0

J'utilise la VM non commerciale de claudera à des fins d'apprentissage. Je pense que son moteur d'exécution est MR uniquement. – user8167344