/ / hadoop hive question - jdbc, hadoop, ruche

question de ruche hadoop - jdbc, hadoop, ruche

J'essaye de créer des tables pragmatiquement en utilisantJDBC. Cependant, je ne peux pas vraiment voir la table que j'ai créée à partir du shell de la ruche. Pire encore, lorsque j'accède à hive shell à partir de différents répertoires, je vois des résultats différents de la base de données. Est-ce que je dois configurer un paramètre?

Merci d'avance.

Réponses:

3 pour la réponse № 1

Assurez-vous de lancer la ruche dans le même répertoirechaque fois que vous lancez hive CLI pour la première fois, il crée une base de données metastore dans le répertoire en cours. Cette base de données contient les métadonnées des tables de ruche. Si vous changez de répertoire, vous aurez des métadonnées non organisées pour les tables de ruche. Également Derby DB ne peut pas gérer plusieurs sessions. Pour permettre un accès simultané à Hive, vous devriezbesoin d'utiliser une véritable base de données pour gérer le métastore plutôt que le petit derbyDB wimpy qui l'accompagne. Vous pouvez télécharger mysql pour cela et modifier les propriétés de ruche pour la connexion jdbc au pilote java pure de type mysql 4.


1 pour la réponse № 2

Essayez d'envoyer par courrier électronique la liste d'utilisateurs Hive ou le canal IRC.


1 pour la réponse № 3

Vous devez probablement configurer le Hive centralmetastore (par défaut, Derby, mais cela peut être mySQL / Oracle / Postgres). Le métastore est la "colle" entre Hive et HDFS. Il indique à Hive où sont stockés vos fichiers de données dans HDFS, quel type de données ils contiennent, à quelles tables ils appartiennent, etc.

Pour plus d'informations, voir http://wiki.apache.org/hadoop/HiveDerbyServerMode


0 pour la réponse № 4

Examinez vos journaux de hadoop. Pour moi, cela s'est produit lorsque mon système hadoop n'était pas correctement configuré. Le namenode n'a pas pu contacter les codes de données sur d'autres machines, etc.


0 pour la réponse № 5

Ouais, c’est parce que le métastore n’a pas été mis en placecorrectement. Metastore stocke les métadonnées associées à votre table Hive (par exemple, le nom de la table, l'emplacement de la table, les noms de colonne, les types de colonne, les informations de classement, les informations de partitionnement, etc.).

Le métastore par défaut est un Derby intégrébase de données qui ne peut être utilisée que par un client à un moment donné. Ce n'est évidemment pas suffisant pour la plupart des objectifs pratiques. Comme la plupart des utilisateurs, vous devez configurer votre installation Hive pour utiliser un autre métastore. MySQL semble être un choix populaire. j'ai utilisé ce lien sur le site de Cloudera pour configurer avec succès mon métastore MySQL.