Výpis názvů tabulek

Tento článek vysvětluje spark.catalog.listTables() , proč a %sql show tables má různé výkonnostní charakteristiky.

Problém

Pokud chcete načíst všechny názvy tabulek z metastore, můžete použít buď spark.catalog.listTables() nebo %sql show tables . Pokud obdržíte dobu trvání a načtete podrobnosti, které vidíte, spark.catalog.listTables() obvykle trvá déle než %sql show tables .

Příčina

spark.catalog.listTables() se nejprve pokusí načíst každou metadata tabulky a pak zobrazit požadované názvy tabulek. Tento proces je pomalý při práci se složitými schématy a větším počtem tabulek.

Řešení

Chcete-li získat pouze názvy tabulek, použijte k %sql show tables internímu vyvolání, SessionCatalog.listTables které načte pouze názvy tabulek.