Snažím se vytvořit skript, který bude tahat řadě se počítá na všechny tabulky z více databází. Všechny databáze, postupujte podle stejné konvence pojmenování "the_same_databasename_<%>" s výjimkou poslední vrstvy v názvu, které se mění. Snažím se spustit následující:
use <database_name>;
show tables;
select count(*) from <table_name>;
Od té doby mám 40 různých databází, já bych třeba spustit první dva dotazy pro každou databázi, 40 různých časech, plus select count dotaz i více v závislosti na tom, jak mnoho tabulky v databázi (časově velmi náročné). Mám Tmel konfigurace nastavení uložit můj Tmel sezení do .txt na místní adresáře, takže můžu mít na řádek počet výsledků zobrazených v mém rozhraní příkazového řádku. Tak daleko, to je to, co mám, ale nejsem si jistý, jak se patří poslední příkazy získat aktuální řádek se počítá z tabulek, v každé databázi.
#!/bin/bash
for db in $(hive -e "show databases like 'the_same_databasename_*;")
do
tbl_count=$(hive -S -e "use $db; show tables;" | wc -l)
echo "Database $db contains $tbl_count tables."
done
Nejsem moc zkušený v shell skriptování, takže jakoukoliv radu/pomoc je velmi ceněn. Díky předem.