こちらのアップデートです。
Delta Live Tables notebook developer experience improvements (Public Preview)
Delta Live Tablesコードの開発とデバッグをアシストするDatabricksノートブックの一連のパブリックプレビュー機能をリリースしました。Delta Live Tables開発のためのプログラマティック エクスペリエンス (パブリック プレビュー)をご覧ください。
ということで、ウォークスルーします。
プレビュー
本機能はパブリックプレビューです。
Delta Live Tablesノートブックの作成
まず、パイプラインのロジックを記述するノートブックを作成します。今回はSQLで作成します。
CREATE OR REFRESH LIVE TABLE covid_sql_raw
COMMENT "日本のCOVID感染者数データ"
AS SELECT * FROM read_files(
'/Volumes/takaakiyayoi_catalog/japan_covid_analysis/covid_data/newly_confirmed_cases_daily.csv',
format => 'csv',
header => true,
mode => 'FAILFAST')
Delta Live Tablesパイプラインの作成
サイドメニューのDelta Live Tablesにアクセスして、パイプラインを作成します。上のノートブックを指定し、データを公開するUnity Catalogのカタログ、スキーマを指定します。
Databricksノートブックからのデバッグ
これでノートブックがパイプラインに登録されたので、ソースコードのリンクをクリックしてノートブックに戻ります。
右上にダイアログが表示されるので、接続をクリックします。これで各種機能を利用できるようになります。
検証ボタンを押すことで、パイプラインのロジックを検証します。
Databricksノートブックからのパイプライン実行
これは嬉しい。これまではノートブックで開発、DLTパイプラインから実行という形で行ったり来たりがありましたが、ノートブックからクイックにパイプラインを実行できます。右上の起動をクリックするとパイプラインが実行されます。
このようにして、徐々にロジックを拡張していきます。次はUNPIVOT
します。というか、いつの間にかアンピボット(melt)もSQLでサポートされてました。
CREATE
OR REFRESH LIVE TABLE covid_sql_unpivoted COMMENT "都道府県別COVID感染者数の時系列データ" AS
SELECT
*
FROM
live.covid_sql_raw UNPIVOT INCLUDE NULLS (
cases FOR prefecture IN (
ALL,
Hokkaido,
Aomori,
Iwate,
Miyagi,
Akita,
Yamagata,
Fukushima,
Ibaraki,
Tochigi,
Gunma,
Saitama,
Chiba,
Tokyo,
Kanagawa,
Niigata,
Toyama,
Ishikawa,
Fukui,
Yamanashi,
Nagano,
Gifu,
Shizuoka,
Aichi,
Mie,
Shiga,
Kyoto,
Osaka,
Hyogo,
Nara,
Wakayama,
Tottori,
Shimane,
Okayama,
Hiroshima,
Yamaguchi,
Tokushima,
Kagawa,
Ehime,
Kochi,
Fukuoka,
Saga,
Nagasaki,
Kumamoto,
Oita,
Miyazaki,
Kagoshima,
Okinawa
)
)
効率よくステップバイステップでロジックを構築していくことができます。
最後に集計ロジックを追加します。
CREATE
OR REFRESH LIVE TABLE covid_sql_aggregated COMMENT "都道府県別COVID感染者集計データ" AS
SELECT
prefecture,
SUM(cases) as cases_total
FROM
live.covid_sql_unpivoted
WHERE
prefecture != "ALL"
GROUP BY
prefecture
ORDER BY
cases_total DESC
パイプライン開発で是非ご活用ください!