USE
Указать «базу данных». Как правило, в её роли выступает один из кластеров YTsaurus. Это указание будет использоваться по умолчанию для поиска таблиц в тех случаях, где база данных не указана явно.
Если в запросе не используется USE
, то кластер следует указывать в начале пути к таблице в формате cluster.`path/to/table`
, например hahn.`home/yql/test`
. Backticks используются для автоматического экранирования спецсимволов, в данном случае слешей.
Обычно имя кластера указывается непосредственно, но есть возможность указать его в виде выражения. В частности, это позволит использовать параметры, объявленные через DECLARE.
В этом случае для USE
должна использоваться запись USE yt:$cluster_name
, где $cluster_name
- именованное выражение типа String
.
Либо можно указывать кластер прямо в начале пути к таблице в формате yt:$cluster_name.`path/to/table`
.
Сам USE
при этом можно использовать внутри действий или шаблонов подзапросов. Значение текущего кластера наследуется на объявления вложенных действий или подзапросов. Область влияния USE
прекращается по окончании действия или шаблона подзапроса, в котором оно объявлено.
Примеры:
USE hahn;
Примечание
USE
не гарантирует, что запрос обязательно будет выполнен именно на указанном кластере. Запрос может быть выполнен на другом кластере, если в нем не используются входные данные (например, USE foo; SELECT 2 + 2;
) или если указан полный путь к таблице на другом кластере (например, USE foo; SELECT * FROM bar.``path/to/table``;
).