Databricks
ShanoneのDatabricks連携は、SQL実行、クラスター/ジョブ/パイプライン管理、Unity Catalog管理、MLflow実験管理、モデルサービング、シークレット、ワークスペースファイルを扱う155個のツールをエージェントに提供します。はじめに
1
OAuthで接続する
エージェントにDatabricks関連の作業を依頼(例: 「SQL Warehouseの一覧を表示して」)するか、Shanoneダッシュボードの連携から事前に接続します。ワークスペースURL(例:
https://adb-1234567890123456.7.azuredatabricks.net)の入力を求められた後、Shanoneを許可するためのconnect_linkが発行されます。2
ワークスペースを許可する
入力した特定のワークスペースについて、DatabricksのOAuth同意画面を承認します。Databricksの認証情報はワークスペースごとに紐づくため、Shanoneに操作させたいワークスペースごとに個別に接続してください。
3
リクエストを再実行する
接続が完了すると、
databricks_*ツールに対するshanone_execute_tool呼び出しが成功するようになります。利用可能なツール
ShanoneはDatabricks向けに155個のツールを、以下のカテゴリに整理して提供しています。SQL実行 & クエリ履歴 (8個)
SQL実行 & クエリ履歴 (8個)
databricks_execute_sql, databricks_get_statement_status, databricks_get_statement_result, databricks_cancel_statement, databricks_query, databricks_execute_async, databricks_list_query_history, databricks_get_querySQL Warehouse (6個)
SQL Warehouse (6個)
databricks_list_warehouses, databricks_get_warehouse, databricks_create_warehouse, databricks_start_warehouse, databricks_stop_warehouse, databricks_delete_warehouseクラスター & インスタンスプール (13個)
クラスター & インスタンスプール (13個)
databricks_list_clusters, databricks_get_cluster, databricks_create_cluster, databricks_start_cluster, databricks_terminate_cluster, databricks_delete_cluster, databricks_list_instance_pools, databricks_get_instance_pool, databricks_create_instance_pool, databricks_edit_instance_pool, databricks_delete_instance_pool, databricks_get_instance_pool_permissions, databricks_set_instance_pool_permissionsジョブ & 実行 (8個)
ジョブ & 実行 (8個)
databricks_list_jobs, databricks_get_job, databricks_create_job, databricks_run_job_now, databricks_get_run, databricks_list_runs, databricks_cancel_run, databricks_get_run_outputパイプライン (12個)
パイプライン (12個)
databricks_list_pipelines, databricks_get_pipeline, databricks_create_pipeline, databricks_update_pipeline, databricks_delete_pipeline, databricks_clone_pipeline, databricks_start_pipeline, databricks_stop_pipeline, databricks_get_pipeline_update, databricks_list_pipeline_updates, databricks_list_pipeline_events, databricks_get_pipeline_permissionsUnity Catalog — カタログ・スキーマ・テーブル (15個)
Unity Catalog — カタログ・スキーマ・テーブル (15個)
databricks_list_catalogs, databricks_get_catalog, databricks_create_catalog, databricks_update_catalog, databricks_delete_catalog, databricks_list_schemas, databricks_get_schema, databricks_create_schema, databricks_update_schema, databricks_delete_schema, databricks_list_tables, databricks_get_table, databricks_list_table_summaries, databricks_table_exists, databricks_delete_tableボリューム & DBFS (15個)
ボリューム & DBFS (15個)
databricks_list_volumes, databricks_get_volume, databricks_create_volume, databricks_update_volume, databricks_delete_volume, databricks_dbfs_list, databricks_dbfs_get_status, databricks_dbfs_mkdirs, databricks_dbfs_put, databricks_dbfs_read, databricks_dbfs_delete, databricks_dbfs_move, databricks_dbfs_create, databricks_dbfs_add_block, databricks_dbfs_closeMLflow実験 & 実行 (25個)
MLflow実験 & 実行 (25個)
databricks_list_experiments, databricks_get_experiment, databricks_get_experiment_by_name, databricks_create_experiment, databricks_update_experiment, databricks_delete_experiment, databricks_restore_experiment, databricks_search_experiments, databricks_set_experiment_tag, databricks_get_experiment_permissions, databricks_set_experiment_permissions, databricks_update_experiment_permissions, databricks_create_mlflow_run, databricks_get_mlflow_run, databricks_update_mlflow_run, databricks_delete_mlflow_run, databricks_restore_mlflow_run, databricks_search_mlflow_runs, databricks_log_metric, databricks_log_param, databricks_log_batch, databricks_set_mlflow_tag, databricks_delete_mlflow_tag, databricks_list_artifacts, databricks_get_metric_historyモデルサービングエンドポイント (12個)
モデルサービングエンドポイント (12個)
databricks_list_serving_endpoints, databricks_get_serving_endpoint, databricks_create_serving_endpoint, databricks_update_serving_endpoint_config, databricks_delete_serving_endpoint, databricks_query_serving_endpoint, databricks_get_serving_endpoint_logs, databricks_export_serving_endpoint_metrics, databricks_get_serving_endpoint_permissions, databricks_set_serving_endpoint_permissions, databricks_put_serving_endpoint_ai_gateway, databricks_patch_serving_endpoint_tagsコマンド実行 & ライブラリ (10個)
コマンド実行 & ライブラリ (10個)
databricks_create_context, databricks_get_context_status, databricks_destroy_context, databricks_execute_command, databricks_get_command_status, databricks_cancel_command, databricks_list_cluster_libraries, databricks_list_all_cluster_libraries, databricks_install_cluster_libraries, databricks_uninstall_cluster_librariesシークレット & Git認証情報 (16個)
シークレット & Git認証情報 (16個)
databricks_list_secret_scopes, databricks_create_secret_scope, databricks_delete_secret_scope, databricks_list_secrets, databricks_get_secret, databricks_put_secret, databricks_delete_secret, databricks_list_secret_acls, databricks_get_secret_acl, databricks_put_secret_acl, databricks_delete_secret_acl, databricks_list_git_credentials, databricks_get_git_credential, databricks_create_git_credential, databricks_update_git_credential, databricks_delete_git_credentialRepos & ワークスペースファイル (15個)
Repos & ワークスペースファイル (15個)
databricks_list_repos, databricks_get_repo, databricks_create_repo, databricks_update_repo, databricks_delete_repo, databricks_get_repo_permissions, databricks_set_repo_permissions, databricks_update_repo_permissions, databricks_get_repo_permission_levels, databricks_list_workspace, databricks_get_workspace_status, databricks_export_workspace, databricks_import_workspace, databricks_mkdirs, databricks_delete_workspaceよくあるユースケース
アドホックなデータ分析
Databricks UIを開かずにWarehouseに対してSQLを実行し、結果を取得する
パイプライン & ジョブの監視
チャットからジョブの実行状況を確認し、失敗ログを取得して再実行をトリガーする
Unity Catalogのガバナンス
データ資産全体のカタログ/スキーマ/テーブルを監査し、権限を管理する
ML実験の追跡
MLflowの実行にメトリクス/パラメータを記録し、実験結果を比較する
トラブルシューティング
以前は動いていたのにすべてのツールが接続エラーで失敗する
以前は動いていたのにすべてのツールが接続エラーで失敗する
DatabricksのOAuthトークンはワークスペースごとに紐づき、有効期限があります。長期間使われていない接続が動かなくなった場合は、連携からその
workspace_urlについて再接続してトークンを更新してください。databricks_execute_sqlが大きなクエリでハングまたはタイムアウトする
databricks_execute_sqlが大きなクエリでハングまたはタイムアウトする
代わりに
databricks_execute_asyncを使用し、databricks_get_statement_status / databricks_get_statement_resultをポーリングしてください。同期実行は長時間かかるクエリには向いていません。Unity Catalog系のツールが権限エラーを返す
Unity Catalog系のツールが権限エラーを返す
Unity Catalogの操作(カタログ・スキーマ・テーブルの作成/更新/削除)には、接続しているアカウントが適切な
USE CATALOG/CREATE/OWNER権限を持っている必要があります。動作するはずのツールが403を返す場合は、ワークスペース管理者に確認してください。databricks_run_job_nowは成功するがジョブが静かに失敗する
databricks_run_job_nowは成功するがジョブが静かに失敗する
実行後のRun IDに対して
databricks_get_run_outputを呼び出し、実際のタスクエラーを確認してください。「now」の呼び出しは実行がトリガーされたことのみを確認するもので、正常に完了したことを保証するものではありません。