Réparation de la table hive à l'aide de hiveContext en java


Je veux réparer la table hive pour toutes les partitions nouvellement ajoutées/supprimées.Au lieu d'exécuter manuellement la commande de réparation msck dans hive, existe-t-il un moyen d'y parvenir en java?J'essaie d'obtenir toutes les partitions de hdfs et de hive metastore, puis après les avoir comparées, je mettrai des partitions nouvellement ajoutées/supprimées dans hive metastore.Mais je ne suis pas en mesure d'obtenir l'API de hivecontext.J'ai essayé d'obtenir toutes les partitions en utilisant hivecontext, mais il ne lance pas de table d'erreur trouver.

System.out.println(hiveContext.metadataHive().getTable("anshu","mytable").getAllPartitions());

Existe-t-il un moyen d'ajouter/supprimer des partitions dans hive en utilisant java?

Author: mahan07, 2017-01-14

1 answers

Étincelle Option :

En utilisant hivecontext, vous pouvez exécuter ceci comme l'exemple ci-dessous. pas besoin de le faire manuellement

sqlContext = HiveContext(sc)
sqlContext.sql("MSCK REPAIR TABLE your table")

Existe-t-il un moyen d'ajouter/supprimer des partitions dans hive en utilisant java?

Option java simple:

Si vous voulez le faire de manière java simple sans utiliser spark, avec du code java simple, alors Vous pouvez utiliser la classe HiveMetaStoreClient pour interroger directement à partir de HiveMetaStore.

entrez la description de l'image ici entrez la description de l'image ici

S'il vous plaît voir ma réponse ici avec un exemple d'utilisation

 3
Author: Ram Ghadiyaram, 2017-05-23 12:01:57