web-dev-qa-db-fra.com

Comment obtenir / générer l'instruction create pour une table Hive existante?

En supposant que vous avez déjà "table" dans Hive, existe-t-il un moyen rapide, comme d’autres bases de données, d’obtenir l’instruction "CREATE" pour cette table?

80
Rolando

À partir de Hive 0.1 this patch-967 implémente SHOW CREATE TABLE qui "affiche l'instruction CREATE TABLE qui crée une table donnée, ou le CREATE VIEW déclaration qui crée une vue donnée. "

Usage:

SHOW CREATE TABLE myTable;
175
Lukas Vermeer

Procédure pour générer des ddls de création de table pour toutes les tables de la base de données Hive et les exporter dans un fichier texte à exécuter ultérieurement:

étape 1) créez un fichier .sh avec le contenu ci-dessous, dites Hive_table_ddl.sh

#!/bin/bash
rm -f tableNames.txt
rm -f HiveTableDDL.txt
Hive -e "use $1; show tables;" > tableNames.txt  
wait
cat tableNames.txt |while read LINE
   do
   Hive -e "use $1;show create table $LINE" >>HiveTableDDL.txt
   echo  -e "\n" >> HiveTableDDL.txt
   done
rm -f tableNames.txt
echo "Table DDL generated"

étape 2) Exécutez le script Shell ci-dessus en transmettant 'nom de la base de données' en tant que paramètre

>bash Hive_table_dd.sh <<databasename>>

sortie:

Toutes les instructions de création de table de votre base de données seront écrites dans le fichier HiveTableDDL.txt.

20
Aditya

Décrire formaté/étendu montrera la définition des données de la table dans Hive

Hive> describe Formatted dbname.tablename;
3
user2637464