Как найти все таблицы с одинаковым (похожим) именем в Databricks SQL
Есть ли запрос sql, который можно использовать для поиска всех таблиц в экземпляре Databricks для данного имени? Что-то вроде
select * from information_schema.tables where lower(table_name) like 'org%';
Если в sql нет способа сделать это, есть ли другой способ сделать это?
Похоже, что в Databricks нет чего-то вроде «information_schema» или других таблиц метаданных, которые есть в других системах управления базами данных, есть ли планы добавить что-то подобное в будущих выпусках (такие вещи, как «show tables ()» действительно не подходят для так много вариантов использования, включая обсуждаемый здесь).
2 ответа
Для этого вы можете использовать команду SHOW TABLES ... LIKE.Обратите внимание, что в отличие от «обычного LIKE», вместо использования
%
вам нужно использовать
*
, и что по умолчанию сопоставление нечувствительно к регистру, поэтому вам не нужно делать
lower
. Еще одна вещь, которую нужно помнить — вам либо нужно явно указать имя базы данных, либо поиск будет выполняться только для текущей базы данных:
SHOW TABLES LIKE 'org*'; -- current database
SHOW TABLES IN another_db LIKE 'org*'; -- another database
SHOW TABLES [FROM | IN] db_name [LIKE 'pattern']