Slide 1

Slide 1 text

VSCodeでのDatabricks開発も お勧めしたい 阿部 和貴 株式会社エーピーコミュニケーションズ 1

Slide 2

Slide 2 text

アジェンダ 2 ● 自己紹介 ● ローカルでDatabricks開発をするには ● VSCodeでの開発に必要な前準備 ● 本発表で実施すること ● 今回使用するDatabricks Asset Bundles用ファイルの説明 ● デモ ● まとめ

Slide 3

Slide 3 text

自己紹介 ● エーピーコミュニケーションズ( 2023/1〜)のデータエンジニア ● 主にDatabricksを活用したデータ分析基盤の導入支援や構築 ● Databricks認定資格: ○ Data Engineer Associate ○ Data Engineer Professional ● 社内の技術ブログも書いてます https://techblog.ap-com.co.jp/archive/author/Kazumain ● 趣味 ○ サイクリング、コーヒー、読書 3 阿部 和貴(Kazuki Abe)

Slide 4

Slide 4 text

Databricksをローカルで開発したい!! 4

Slide 5

Slide 5 text

ローカルでDatabricks開発をするには 5 Workspace上での開発: ワークフローの設定は UI上で実施 notebook ローカル開発環境での開発: コード管理したワークフローを同期・実行 ワークフロー構成 Workflows notebook 設定画面 ローカル開発環境 Workspace Workflows 同期した notebook Workspace デプロイ Cluster リモート実行

Slide 6

Slide 6 text

VSCodeでの開発に必要な前準備 6 VSCodeにDatabricksの拡張機能(プレビュー中含む)をインストール後 ワークスペースとの認証を行う ● VSCodeで開発したコードをワークスペースと同期 ● Workspace内のnotebookをローカルから実行 ● ワークフロー(Job、DLT)も実行可能 ● コードのデバッグ ワークスペースとの認証方法は、以下ドキュメントを参照 Visual Studio Code 用の Databricks 拡張機能の認証のセットアップ ● VSCodeで開発したSQLクエリをワークスペースと同期 ● ローカルからSQLクエリを実行できる ● クラスターの他にSQL Warehouseが別途必要 ワークスペースとの認証方法は、以下ドキュメントを参照 Databricks Driver for SQLTools for Visual Studio Code

Slide 7

Slide 7 text

本発表で実施すること 7 VSCodeにおいてDLT(Delta Live Tables)パイプラインを開発し Databricks Workspaceにデプロイ・実行 Databricks Assistantの代わりに Copilot Chatを利用 DLT Pipelines Databricks Asset Bundles Workspace バンドル VSCode開発環境 notebook DLT設定 ・・・ ・・・

Slide 8

Slide 8 text

今回使用するDatabricks Asset Bundlesのファイル説明 8 事前にデフォルトのバンドルテンプレートを作成済み。作成方法は以下ドキュメントを参照 https://docs.databricks.com/ja/dev-tools/bundles/work-tasks.html DLTでの処理内容を記述 databricks.yml (バンドル) .src/DLT-Pipeline.ipynb DLTの設定情報を定義 (今回はdatabricks.ymlに直接記述したため省略) .resources/my_project_pipeline.yml ● ワークスペースのホスト名 ● DLT設定 (JSONからYAMLに変換後入力) バンドル設定ファイルに定義されたワークフローをデプロイする

Slide 9

Slide 9 text

ここからデモです デモ手順 ● VSCodeからWorkspaceにDLTをデプロイ ● デプロイ後、VSCodeからDLTを実行(時間がかかるため動画紹介) ● 結果確認 9

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11

Slide 12

Slide 12 text

12

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

まとめ ● VSCodeの拡張機能を用いることで、ローカルでのDatabricks開発が可能 ● Databricks Asset BundlesによってローカルからDLTのデプロイ・実行ができる ● (プレビュー中だが)VSCodeの拡張機能を用いて上記操作はUI上で可能 ● Copilot Chatも十分利用できそう(上手くサジェストしないときは、エージェントを workspaceに指定すれば改善した) 14