Databricksランタイム14.1でサポートされていたとは。
以前はspark.conf
を使ってました。上の機能を使うとSQLだけで完結できます。
文字列の変数username
を宣言して、自分のユーザー名を文字列置換したものを変数に設定しています。
SQL
-- 変数を宣言
DECLARE OR REPLACE username STRING;
-- ユーザー名からピリオド、@を除外
SET VAR username = (SELECT regexp_replace(current_user(), "(\\.|@)", "_"));
SELECT
でアクセスできます。
SQL
SELECT username;
IDENTIFIER
句を用いることで、データベース、テーブル名に文字列変数を指定できます。
SQL
--- quick_start カタログに新規スキーマを作成
CREATE SCHEMA IF NOT EXISTS IDENTIFIER(username)
COMMENT "自分用のUnity Catalogスキーマ(データベース)";