Introduction | Databricks on AWS [2022/5/23時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
Delta Lakeはデータレイクにレイクハウスアーキテクチャの構築を可能にするオープンソースプロジェクトです。Delta LakeはACIDトランザクション、スケーラブルなメタデータハンドリング、既存のデータレイクでのストリーミングとバッチデータ処理の統合を可能にします。
Delta Lakeのクイックなオーバービューとメリットに関しては、Youtubeをご覧ください(3分)。
特に、Delta Lakeは以下の機能を提供します。
- SparkにおけるACIDトランザクション: シリアライズ可能なアイソレーションレベルによって、読み取り側で一貫性のないデータを参照することがなくなります。
- スケーラブルなメタデータのハンドリング: 数十億のファイルから構成されるパタバイト規模の全てのメタデータを容易に取り扱うことができる、Sparkの分散処理のパワーを活用します。
- ストリーミングとバッチの統合: Delta Lakeのテーブルはバッチテーブルであるのと同時に、ストリーミングのソース、シンクでもあります。ストリーミングのデータ取り込み、バッチによる過去データのバックフィル、インタラクティブなクエリーすべてを簡単に実行できます。
- スキーマ強制: データ取り込みの際に不正なレコードの挿入を防ぐために、自動でスキーマの変更をハンドリングします。
- タイムトラベル: データのバージョン管理によって、ロールバック、完全な履歴の監査証跡、再現可能な機械学習エクスペリメントを実現します。
- upsertとdelete: チェンジデータキャプチャやSCD(slowly-changing-operation)オペレーション、ストリーミングによるupsertなど複雑なユースケースを実現するためのmerge、update、deleteオペレーションをサポートします。
Delta Lakeの一般的なイントロダクションとデモンストレーションに関しては、こちらのYoutubeをご覧ください(51分)。
Deltaエンジンによる最適化によって、Delta Lakeのオペレーションは非常に高性能なものとなり、大規模ETL処理からアドホックなインタラクティブなクエリーといった幅広いワークロードをサポートすることができます。Deltaエンジンに関しては、Optimizationsをご覧ください。
クイックスタート
Delta Lakeのクイックスタートでは、Delta Lakeの操作方法の基礎に関するオーバービューを提供します。クイックスタートでは、Delta Lakeへのデータのロード、テーブルの変更、テーブルの読み込み、テーブル履歴の表示、テーブルの最適化に関して説明します。
これらの機能をデモンストレーションするDatabricksノートブックに関しては、Introductory notebooksをご覧ください。
Delta Lakeを試すには、Databrikcsにサインアップしてください。
主要なタスク
以下のリストでは、一般的なDelta Lakeのタスクに関するドキュメントへのリンクを提供しています。
- Deltaテーブルの作成: クイックスタート、バッチデータタスク
- Delta Lakeテーブルへのデータのロード、書き込み:
- COPY INTOを使用
- Auto Loaderを使用
- Databricks SQLでCreate Table UIを使用
- ストリーミングを使用: クイックスタート、ストリーミングタスク
- サードパーティソリューションを使用: パートナー、サードパーティプロバイダー
- データの更新
- データのmerge(upserts: updateとinsert): クイックスタート、テーブルアップデート
- データの追加
- データの上書き
- ParquetテーブルをDeltaテーブルに変換
- Deltaテーブルからデータの読み込み: クイックスタート、バッチデータタスク、ストリーミングタスク
- Deltaテーブルの最適化: クイックスタート、bin packing、Z-ordering、ファイルサイズチューニング
- Deltaテーブルに対するビューの作成
- Deltaテーブルからデータの削除
- Deltaテーブルの詳細の表示
- Deltaテーブルの履歴の表示: クイックスタート、データユーティリティ
- Deltaテーブルスナップショットのクリーンアップ(vacuum): クイックスタート、データユーティリティ
- Deltaテーブルカラムの操作
- Deltaテーブルの変更を追跡(チェンジデータフィード)
- Deltaテーブルのクローン、コピー
- テーブル制約の操作
- Deltaテーブルバージョンの操作
- Deltaテーブルの以前のバージョンに対するクエリー(タイムトラベル): クイックスタート、バッチデータタスク
- Deltaテーブルを前のバージョンにリストア、ロールバック
- Deltaテーブルリーダー、ライターのバージョンを取り扱う
- Deltaテーブルメタデータを取り扱う
- Delta Lake SQL文を使用する
- Delta Lake APIリファレンスを使う
- Delta Lakeのコンカレンシーコントロール(ACIDトランザクション)を学ぶ
リソース
- FAQについては、Delta Lakeに対するFAQをご覧ください。
- Delta LakeのSQLコマンドのリファレンスについては、Delta Lake statementsをご覧ください。
- ブログ記事、講演、サンプルなど他のリソースに関しては、Delta Lake resourcesをご覧ください。
Delta Lakeにディープダイブするトレーニングについては、こちらのYoutubeをご覧ください。