はじめに
こんにちは、すぎもんです![]()
本記事では、HULFT SquareのスクリプトからREST APIでDatabricksのジョブを実行してみたいと思います。
今回はDatabricksに関連して下記3つの記事構成にしています。
1.DatabricksでETLジョブを作成してみた
2.HULFT SquareからDatabricksのジョブを実行してみた (本記事)
3.HULFT SquareからDatabricksのテーブルを参照してみた
Databricksにジョブを作成する記事とHULFT Square(またはDataSpider Servista)からDatabricksのテーブルを参照する記事もあわせてご覧ください。
今回やること
HULFT SquareのスクリプトでRESTコネクターを使用し、Databricksのジョブを実行して、実行結果をファイルに出力してみます。

本記事では、HULFT Squareを使用していますが、DataSpider Servistaでも同様に実現可能です。
実施手順
以下の手順を実施します。
1.HULFT SquareのRESTコネクション作成
2.HULFT Squareのジョブ起動スクリプト作成・実行
1.HULFT SquareのRESTコネクション作成
HULFT SquareからDatabricksに接続するためのコネクションを作成します。
① Databricksのホスト名を確認
HULFT Squareから接続するためのホスト名を確認します。
Databricksコンソール画面の[SQLウェアハウス]⇒使用する実行環境をクリックします。

[接続の詳細]タブを選択し、[サーバーのホスト名]をコピーします。

② コネクション作成
HULFT Squareコンソール画面の[コネクション]⇒[追加]を押下します。

[コネクター]に「REST」を指定し、[種類]に「REST接続」を指定し、[次へ]ボタンを押下します。

[名前]と[ワークスペース]を設定し、[次へ]ボタンを押下します。

[URL]に「https://」を入力し、その後に①でコピーしたDatabricksのホスト名を貼り付けて、[接続テスト]ボタンを押下します。接続テスト成功後に[次へ]ボタンを押下します。

2.HULFT Squareのジョブ起動スクリプト作成・実行
HULFT SquareでDatabricksのジョブを起動するスクリプトを作成して実行します。
① ジョブIDを確認
Databricksコンソール画面の[ジョブとパイプライン]⇒対象のジョブの名前をクリックします。

② アクセストークンの生成
[ユーザアイコン]⇒[設定]をクリックします。

[開発者]⇒[アクセストークン]⇒[管理]をクリックします。

[コメント]と[存続期間(日)]を入力し、[生成]をクリックします。

トークンをコピーし、メモしておきます。[完了]をクリックします。

③ ジョブ起動スクリプト作成
HULFT Squareのデザイナーの[ツールパレット]⇒[ネットワーク]⇒[REST]⇒[POST実行]のコネクターをドラッグ&ドロップで配置します。

・必須設定
[接続先]に作成したコネクションを指定し、[パス]に「/api/2.2/jobs/run-now」を入力します。
最新バージョンのパスについては以下のリンクを確認します。
https://docs.databricks.com/api/workspace/jobs/runnow?utm_source=chatgpt.com
・リクエスト設定
①で確認したジョブIDをJSON形式で記載したファイルを作成し、HULFT Squareのストレージに保存します。

[データ入力元]は「ファイル」を選択し、上記ファイルのパスを指定します。

・レスポンス設定
[データ出力先]は「ファイル」を選択し、結果を出力するファイルのパスを指定します。

・ヘッダ設定
以下のリクエストヘッダを設定します。
Authorization: Bearer (②で生成したアクセストークンを指定する)
Content-Type: application/json

④ スクリプト実行
[スクリプトの実行]ボタンを押下し、実行成功のポップアップが出力されることを確認します。

⑤ スクリプト実行結果確認
Databricksコンソール画面の[ジョブとパイプライン]の[ジョブの実行]タブで、[ランID]の値とジョブの[ステータス]が「成功」となっていることを確認します。

レスポンス設定で指定したパスにファイルが出力されていることを確認します。
run_idが上記の[ランID]と一致していることを確認します。

おわりに
いかがだったでしょうか。
今回は、HULFT SquareのRESTコネクターを利用して、Databricksのジョブを実行する方法をご紹介しました。
REST APIを利用することで、外部システムからDatabricksのジョブを起動したり、Deltaテーブルのデータを参照することも可能になります。
HULFT SquareとDatabricksを組み合わせることで、データ連携の幅が広がり、より便利になると感じました。
ここまで読んでいただき、ありがとうございました。それでは、また!




