Comment vérifier si une table existe dans Hive?
Je suis de la connexion à la Ruche via un driver ODBC à partir d'un .NET application. Est-il une requête pour déterminer si une table existe déjà?
Par exemple, dans MSSQL vous pouvez interroger l' INFORMATION_SCHEMA
table et Netezza vous pouvez interroger l' _v_table
table.
Toute aide serait appréciée.
source d'informationauteur Michael Robinson
Vous devez vous connecter pour publier un commentaire.
Il existe deux approches que vous pouvez vérifier que:
1.) @Dimamah suggéré, juste pour ajouter un point ici, pour cette approche, vous devez
2.) La deuxième approche consiste à utiliser HiveMetastoreClient Api, où vous pouvez utiliser directement l'Api pour vérifier si la table_name existent dans un base de données ou pas.
Pour obtenir de l'aide s'il vous plaît aller à travers ce La ruche 11
Exécuter la commande suivante :
show tables in DB like 'TABLENAME'
Si la table existe, son nom sera retourné, sinon rien n'est retourné.
Cela se fait directement à partir de la ruche. pour plus d'options consultez cette.
DB
est la base de données dans laquelle vous voulez voir si la table existe.TABLENAME
est le nom de la table que vous cherchez,Ce qui se passe réellement est que les requêtes Hive son metastore (dépend de votre configuration, mais il peut être dans une norme SGBDR comme MySQL) de sorte que vous pouvez éventuellement se connecter directement à la même metastore et écrire votre propre requête pour voir si la table existe.
Lors de la programmation sur la Ruche par Spark SQL, vous pouvez utiliser la méthode suivante pour vérifier si la Ruche table existe.
Si quelqu'un est à l'aide d'un script shell comme moi, alors ma réponse pourrait être utile. Supposons que votre table est dans l'espace de noms par défaut.
Code similaire à ci-dessous on peut trouver dans beaucoup de mes Étincelle cahiers:
(fait deux-liner pour des raisons de lisibilité)
Je souhaite Étincelle aurait un appel API pour vérifier la même chose.
Si vous utilisez SparkSQL vous pouvez effectuer les opérations suivantes.
http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.SQLContext.tableNames