2
1

More than 1 year has passed since last update.

本日Databricks SQLのCLI(コマンドラインインタフェース)が公開されました。

インストール・設定を行うことで、ローカルマシンからDatabricks SQLに対してクエリーを実行することができるようになります。

インストール

ローカルマシンのターミナルで以下を実行します。

Bash
pip install databricks-sql-cli

設定

インストール後、ターミナルでdbsqlcliを実行するとホームディレクトリ配下の~/.dbsqlcli/dbsqlclircに設定ファイルが作成されます。

Bash
(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.

こちらで接続先の情報を指定しますので、設定に必要な情報を取得します。

  1. 接続先のDatabricks環境のサイドメニューのペルソナスイッチャーでSQLを選択します。
  2. SQLエンドポイントにアクセスし、使用するSQLエンドポイントの接続の詳細を表示します。
  3. ここで表示されるサーバーのホスト名HTTPパスをメモしておきます。
    Screen Shot 2022-05-13 at 16.36.28.png
  4. パーソナルアクセストークンを発行します。サイドメニューの設定 > ユーザー設定にアクセスします。
  5. Personal access tokensタブをクリックします。
  6. 新規トークンを生成をクリックします。
    Screen Shot 2022-05-13 at 16.39.30.png
  7. コメントと存続期間を指定して生成をクリックします。一度しか表示されないので、注意してこれをコピーしておきます。
    Screen Shot 2022-05-13 at 16.40.38.png

重要!
パーソナルアクセストークンは発行したユーザーの権限でのDatabricksの操作を可能にする非常に重要な情報です。第三者に共有しないでください。厳密に管理してください。

ローカルマシンのターミナルで設定ファイル~/.dbsqlcli/dbsqlclircを編集します。

Bash
vi ~/.dbsqlcli/dbsqlclirc

コマンドラインの引数にパラメーターとして認証情報指定することもできますが、ここでは設定ファイルの最後に以下の設定を追加します。

[credentials]
host_name = "サーバーのホスト名"
http_path = "HTTPパス"
access_token = "パーソナルアクセストークン"

ファイルを保存します。

クエリーの実行

ローカルマシンのターミナルで再度dbsqlcliを実行します。引数にSQLを指定することもできますが、何も指定しない場合はREPLが起動します。インタラクティブにクエリーを実行することができます。

Bash
(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>

引数としてクエリーを指定するには以下のようにします。

Bash
dbsqlcli -e 'select id, name from minifigs LIMIT 10'

ファイルを指定する場合にはこちら。

Bash
dbsqlcli -e query.sql

ちなみに、REPLではオートコンプリートもサポートされています。

Screen Shot 2022-05-13 at 16.46.41.JPG

Databricks 無料トライアル

Databricks 無料トライアル

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1