Databricksクイックスタートガイドのコンテンツです。
Databricksソリューションアーキテクトの弥生です。
私は2020年11月にデータブリックス・ジャパンに入社しました。それまでは、DatabricksもSparkも触ったことがありませんでした。
この約一年間でどのような学習コンテンツを活用してきたのかをシェアさせてください。ちなみに入社前の私のスキルセットは以下のようなものでした。
クラウド
- AWS ソリューションアーキテクトアソシエイト
- Google Professional Data Engineer
プログラミング言語
- R(データ分析プロジェクトで活用)
- Python(データ分析プロジェクトで活用)
- PHP(Webサービス開発していました)
- Objective-C(趣味でiPhoneアプリ作ってます)
データベース
- MySQL(環境構築・運用)
- SQL Server(こちらはSQL使うくらい)
Databricksはクラウドで提供されるSaaSであるので、上記クラウドの知識は特に環境構築の場面で役立ちました。RはRStudioで使っていましたが、PythonはJupyterノートブックでの利用でしたので、Databricksのノートブックに慣れるのにはそれほど難しさは感じませんでした。
一方で、以下に関する知識が不足していたので、これらを重点的に勉強しました(今でも勉強中ですが)。
- Apache Spark
- Delta Lake
- Databricks全般
Apache Sparkに関する学習コンテンツ
日本語訳されている書籍はあまり多くないのですが、以下の本は一通り読んで、サンプルプログラムを動かすところからスタートしました。
どうにかこうにか英語の書籍も読みました。
ちなみにですが、ACM(Association of Computer Machinary)のメンバーになると英語のオライリー本(電子書籍)が読み放題になるのでお勧めです。年間1万〜2万円なので、数冊読めば元取れます。
Delta Lakeに関する学習コンテンツ
Delta Lakeに関する本はまだこちらしか存在していませんが、内部機構が詳細に説明されているのでお勧めです。
あとはマニュアル、ブログ記事で説明されているDelta Lakeのコンテンツを勉強しました。
Databricksに関する学習コンテンツ
とにかく、Databricksに関しては右も左もわからなかったので、アカデミーのトレーニングを受けまくりました。Self-pacedトレーニングは好きな時間に実施できますし、サンプルノートブックをトライすることで理解が深まります。インストラクターによるトレーニングもいくつか受講しましたが、こちらも実践的で非常に役立ちました。タイムゾーンによっては夜中に受講することになりますが。
なお、無償のDatabricks環境を活用することも可能です。
イントラクターによるトレーニングは以下を受講しました。どれも非常に役立ちました。
- Apache Spark Programming with Databricks: Apache Sparkって何?というところから学べます。
- Data Engineering with Databricks: Spark APIを用いたデータ加工を体験できます。
- Optimizing Apache Spark on Databricks: 個人的には一番勉強になったコースです。Sparkのパフォーマンスチューニングを学べます。
Self-pacedのコースは非常にたくさんありますので、ご自身のペルソナ(データサイエンティスト/データエンジニアなど)に応じてコースを選択していく形になります。私が受講したコースの一部を紹介します。
Databricksでのコラボレーション
- Databricks: How-To Videos -> How to Share Data Insights Using Databricks
- Quick Reference: Databricks Workspace User Interface
- Introduction to Databricks Repos
ETL関連
- Easy ETL with Auto Loader
- Introduction to Delta Live Tables
- Introduction to Multi-Task Jobs
Spark関連
- Quick Reference: Spark Architecture
- Apache Spark Programming with Databricks
- Data Engineering with Databricks
- Optimizing Apache Spark on Databricks
そして、ここでもひたすらマニュアルを読みました。少なくともメイン機能(ノートブック、クラスター、MLflow周り、Delta Lake)に関しては精読しておく必要あると思います。機能アップデートの際にも読み返したりしています。
Azure Databricksであれば日本語ドキュメントもあります。
会社ブログも役立ちます。マニュアルに記載されていない機能提供の背景、ユースケース、技術的な詳細が結構説明されています。マニュアル、ブログで勉強になったと思ったものは翻訳したものをQiitaにアップロードしています。翻訳しながら読むと理解が深まると思います。
あと、本やブログを読むだけではなく、マニュアル、ブログ記事に添付されているサンプルノートブックを実際に動かすことが重要だと思います。Databricks環境にはサンプルデータが格納されているので、サンプルノートブックを簡単に試すことができます。
Databricksでは実プロジェクトで活用できるサンプルノートブックをソリューションアクセラレータとして公開しています。
日本語に翻訳したものはこちらで公開しています。
これまで学んだこと含め、同僚の方と協力して本にまとめることができました。
そして、認定資格Databricks Certified Data Engineer Professionalに合格することができました。リンク先では簡単ですが試験対策をまとめています。