本日Databricks SQLのCLI(コマンドラインインタフェース)が公開されました。
インストール・設定を行うことで、ローカルマシンからDatabricks SQLに対してクエリーを実行することができるようになります。
インストール
ローカルマシンのターミナルで以下を実行します。
pip install databricks-sql-cli
設定
インストール後、ターミナルでdbsqlcli
を実行するとホームディレクトリ配下の~/.dbsqlcli/dbsqlclirc
に設定ファイルが作成されます。
(base) yayoi@Ganesha ~ % dbsqlcli
Welcome to DBSQL CLI!
It seems this is your first time to run dbsqlcli,
we generated a default config file for you
~/.dbsqlcli/dbsqlclirc
Please change it accordingly, and run dbsqlcli again.
こちらで接続先の情報を指定しますので、設定に必要な情報を取得します。
- 接続先のDatabricks環境のサイドメニューのペルソナスイッチャーでSQLを選択します。
- SQLエンドポイントにアクセスし、使用するSQLエンドポイントの接続の詳細を表示します。
- ここで表示されるサーバーのホスト名とHTTPパスをメモしておきます。
- パーソナルアクセストークンを発行します。サイドメニューの設定 > ユーザー設定にアクセスします。
- Personal access tokensタブをクリックします。
-
新規トークンを生成をクリックします。
- コメントと存続期間を指定して生成をクリックします。一度しか表示されないので、注意してこれをコピーしておきます。
重要!
パーソナルアクセストークンは発行したユーザーの権限でのDatabricksの操作を可能にする非常に重要な情報です。第三者に共有しないでください。厳密に管理してください。
ローカルマシンのターミナルで設定ファイル~/.dbsqlcli/dbsqlclirc
を編集します。
vi ~/.dbsqlcli/dbsqlclirc
コマンドラインの引数にパラメーターとして認証情報指定することもできますが、ここでは設定ファイルの最後に以下の設定を追加します。
[credentials]
host_name = "サーバーのホスト名"
http_path = "HTTPパス"
access_token = "パーソナルアクセストークン"
ファイルを保存します。
クエリーの実行
ローカルマシンのターミナルで再度dbsqlcli
を実行します。引数にSQLを指定することもできますが、何も指定しない場合はREPLが起動します。インタラクティブにクエリーを実行することができます。
(base) yayoi@Ganesha ~ % dbsqlcli
ホスト名:default> select * from test_table;
+----------+----------+-----------+-----------+---------+
| PersonID | LastName | FirstName | Address | City |
+----------+----------+-----------+-----------+---------+
| 1 | Yayoi | Polka | Mito | Ibaraki |
| 1 | Yayoi | Ume | Shinagawa | Tokyo |
| 1 | Yayoi | Yuki | Shinagawa | Tokyo |
| 1 | Yayoi | Taka | Shinagawa | Tokyo |
+----------+----------+-----------+-----------+---------+
4 rows in set
Time: 17.554s
ホスト名:default>
引数としてクエリーを指定するには以下のようにします。
dbsqlcli -e 'select id, name from minifigs LIMIT 10'
ファイルを指定する場合にはこちら。
dbsqlcli -e query.sql
ちなみに、REPLではオートコンプリートもサポートされています。