【Databricks】4日間集中トレーニングで分かったいいところ【ETL】

今回[データエンジニア向け「データブリックス4日間集中トレーニング」](https://databricks.com/jp/p/webinar/202207-Japan-Elevate)こちらに参加させていただきました。
そこで知ったDatabricksの強みや業務イメージ等を共有出来たらいいなと思います。

# Day1-3 ETLしてテーブルを作成する
Day1-3では様々なデータを収集、処理しテーブルにするという流れについてをトレーニングしました。
Databricksでは、多くのストレージサービスにあるファイルを取り込むことができます。(ブロンズレイヤー)
そのデータの複雑性、レイテンシ、冗長性を減らしたり、重複レコードを排除するなど扱いやすいように処理します(シルバーレイヤー )
その後それらのデータを結合して業務に利用できるようなデータを作成するという流れを行えます。(ゴールドレイヤー)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/35f56661-b3ad-4374-de60-3fb4146a9686.png)

通常ファイルのようなデータを継続的に取り込んでいると、エラーが出た際にゴミデータが発生し問題が出てしまいます。
Databricksではトランザクションを設けることでファイルシステムでもゴミファイルが出ずに安心して利用することができます。

さらに、継続的に読み込むAutoloaderでは動作の可視化を行うこともできます。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f32646565383864392d383834312d393033382d636234342d3837313733346165663136362e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/8af3b58f-248f-c297-e212-17c50d89abbf.png)

これらの継続的に行う処理についてはノートブックで処理内容を記述することができます。
ノートブックには過去の編集者や履歴、ロールバックも行えるのでコードの安全性も高いです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/e40e1246-2c84-adcd-796c-307d47c484d3.png)


定期実行はワークフローによって管理できます。
ワークフローでは、UI上でノートブックを指定し、そのノートブックにある処理の内容を指定したストレージの場所からデータを取得し、処理を実行、ターゲットのDBに書き出すことが可能です。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f65343637353537612d353239362d346434612d613638622d3930376664383234363736352e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/2f3b9b6d-3b98-fe21-1edd-6e3ad6a4d367.png)

このように現在の処理の内容や進捗、エラーを視覚的に理解することが可能です。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f34393636353662332d346362382d323735372d623833332d6366313330363637393361642e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/6a155d50-cb5b-e9bc-a00e-2a8ee8438a62.png)


# Day4 SQLウェアハウス
Day4では先日までに作成したデータをアナリストがDWH的に分析することを考えたトレーニングとなっていました。

データの可視化にはダッシュボードを利用します。こちらにはクエリしたデータを用いて様々な方法で可視化を行うことができます。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f31343765393433392d643766372d663238302d363332352d6335386364633033623861382e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/49c7b9c0-8059-3a1e-d8f0-bef1c7989e65.png)

グラフの内容やクエリの内容はユーザーが作成、編集することができます。
グラフを新規に追加する際または変更する際に直接SQLを記述することができます。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f65366664373834342d373834352d643432342d306538382d3066306436613333653938362e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/17582378-2453-d88f-4e9e-038a6f7e91ce.png)

グラフについても編集可能で、利用するデータやグラフの形式など自由に編集可能です。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f62303937343561652d623363342d666330342d346131662d3161386266656633383365332e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/a7d8fce5-861f-6007-336c-68cd1075b373.png)

このダッシュボードはほかユーザーと共有することができ、権限によっては共同編集することもできるようです。
また、ダッシュボードの更新等も先述のワークフローに組み込むことができるので自動で更新することも可能ですね。

##　Unity Catalog

Unity Catalogを利用することで異常なデータのばあいアラートを出すことができ、不正データ等をはじくことができます。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f32333633653264372d306563312d333835382d386138362d6639363162666265633032322e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/6f214f8e-0a2e-0db6-397e-6a7f1d86a89e.png)

設定には監視するウェアハウス、クエリの内容、アラートの閾値などを指定することで簡単に設定できます。
![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3339353130362f35323561376239382d346430382d656263612d336435352d3833333431353364313233662e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/395106/2480a0ec-e5e2-933c-22f6-dba6865f08b5.png)


# まとめ
今回[データブリックス4日間集中トレーニング](https://databricks.com/jp/p/webinar/202207-Japan-Elevate)に参加したことで漠然としたデータレイクによる利点についてが少し明確になったかなと思います。
あらゆるところに散在するファイルデータを一つのプラットフォームで集約管理、利用できるという点が大きな特徴なのかなと思います。
その管理についてもノートブックにより安全にわかりやすい形でできますし、結果としてできたデータの運用につても自動化や可視化等行えるところがいい部分だと感じました。

今後はこれらで使ったデータをML等に生かしていく流れなどを学ぶことができたらいいなと思いました。