Hive'da zaten "tablo" nun olduğunu varsayarsak, bu tablo için "CREATE" ifadesini almanın diğer veritabanları gibi hızlı bir yolu var mı?
Yanıtlar:
Hive 0.10 itibariyle bu yama-967 uygular SHOW CREATE TABLE
"gösterileri CREATE TABLE
verilen bir tablo veya oluşturur deyimi CREATE VIEW
, belirli bir görünüm oluşturur deyimi."
Kullanım:
SHOW CREATE TABLE myTable;
Hive veritabanındaki tüm tablolar için tablo ddl'leri oluşturma ve daha sonra çalıştırmak üzere metin dosyasına aktarma adımları:
adım 1) aşağıdaki içeriğe sahip bir .sh dosyası oluşturun, örneğin 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"
adım 2) Parametre olarak 'db adını' geçerek yukarıdaki kabuk komut dosyasını çalıştırın
>bash hive_table_dd.sh <<databasename>>
çıktı :
DB'nizin tüm tablo oluşturma ifadeleri HiveTableDDL.txt dosyasına yazılacaktır.
Biçimlendirilmiş / Genişletilmiş Açıklama, tablonun veri tanımını kovanda gösterecektir
hive> describe Formatted dbname.tablename;