APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Delta Live Tables A to Z: Best Practices for Modern Data Pipelines part1(Delta Live Tables A to Z: 最新のデータ パイプラインのベスト プラクティス part1)

はじめに

GLB事業部Global Engineering部 佐々木です。 現地でのData + AI SUMMIT2023(DAIS)に参加し、セッションの内容をまとめた記事を書きました。

DAISでのセッションに関する記事は、以下の特設サイトにまとめています。

https://www.ap-com.co.jp/data_ai_summit-2023/

Delta Live Tablesを活用した最新のデータパイプライン構築方法

​ 今回は、最近視聴した講演「Delta Live Tables A to Z: Best Practices for Modern Data Pipelines」について、わかりやすく解説していきたいと思います。この講演は、Spark SQL、Structured Streaming、Deltaを統合したシステムであるDelta Live Tables(DLT)を使って、データセットを作成・更新する方法を紹介することを目的としています。データプロフェッショナルやデータエンジニア、データサイエンティストの皆さんにとって、非常に興味深い内容だと思います。

このブログは全2部構成で、今回は第1部をお届けします。第1部では、Delta Live Tablesの紹介やデータパイプラインの複雑さ、データセットの種類とデータ品質の確保について解説していきます。 ​​

Delta Live Tablesの紹介とデータパイプラインの複雑さ

​ 最近の講演で、Delta Live Tablesという新しいシステムが紹介されました。これは、Spark SQL、Structured Streaming、Deltaを統合したシステムで、データセットの作成・更新が可能です。このシステムは、データパイプラインの複雑さを解決するために、依存関係管理、品質チェック、ガバナンス、バージョン管理などが自動的に処理されるという特徴があります。 ​

Delta Live Tablesの特徴

​ Delta Live Tablesは、以下のような特徴を持っています。 ​

  1. Spark SQL、Structured Streaming、Deltaを統合したシステム
  2. データセットの作成・更新が可能
  3. 依存関係管理、品質チェック、ガバナンス、バージョン管理などが自動的に処理される

​ これにより、データパイプラインの複雑さが解決され、効率的なデータ処理が可能になります。 ​

データパイプラインの複雑さの解決

​ データパイプラインは、データの収集、変換、保存、分析などの一連のプロセスを指します。これらのプロセスは、複数のシステムやツールを組み合わせて実現されることが多く、その結果、データパイプラインの複雑さが増してしまいます。Delta Live Tablesは、この複雑さを解決するために、以下のような機能を提供しています。 ​

  1. 依存関係管理: データパイプライン内の各プロセスが、他のプロセスとどのように関連しているかを自動的に管理します。
  2. 品質チェック: データの品質を自動的にチェックし、問題がある場合は通知します。
  3. ガバナンス: データのアクセス権限や利用ポリシーを一元的に管理し、適切なガバナンスを実現します。
  4. バージョン管理: データセットのバージョンを自動的に管理し、過去のバージョンにアクセスすることも可能です。

​ これらの機能により、データパイプラインの複雑さが解決され、効率的なデータ処理が実現されます。 ​

データセットの種類とデータ品質の確保

​ この講演では、データセットの種類とデータ品質の確保についての話題が取り上げられました。データセットはストリーミングテーブルとマテリアライズドビューの2種類が提供されており、データ品質を確保するために期待値というブール式が各行に評価される仕組みが紹介されました。また、新しいストリーミングテーブル構文を使用して、テーブルの作成やスキーマの定義、型のキャストが可能になることも説明されました。 ​

ストリーミングテーブルとマテリアライズドビュー

​ データセットには、ストリーミングテーブルとマテリアライズドビューの2種類があります。 ​

  • ストリーミングテーブル: リアルタイムでデータが更新されるテーブルで、データの追加や更新が可能です。
  • マテリアライズドビュー: 事前に計算されたデータを格納するテーブルで、データの参照が高速に行えます。

​ これらのデータセットは、それぞれ異なる目的で使用されるため、適切なデータセットを選択することが重要です。 ​

期待値によるデータ品質の確保

​ データ品質を確保するために、期待値というブール式が各行に評価されます。期待値は、データが正しいかどうかを判断するための条件式で、以下のような特徴があります。 ​

  • 期待値は、データセットの各行に対して評価されるため、データの品質を維持することができます。
  • 期待値が満たされない場合、データの修正や削除が行われることで、データの信頼性が向上します。

​ 期待値を設定することで、データ品質を確保しながらデータセットを運用することが可能になります。 ​

新しいストリーミングテーブル構文の活用

​ 新しいストリーミングテーブル構文を使用することで、以下のような操作が可能になります。 ​

  1. テーブルの作成: ストリーミングテーブルやマテリアライズドビューを作成することができます。
  2. スキーマの定義: テーブルのスキーマを定義し、データの構造を明確にすることができます。
  3. 型のキャスト: データの型を変換し、データの整合性を保つことができます。

​ これらの機能を活用することで、データセットの作成や更新が容易になり、データ品質の確保にも役立ちます。 ​

まとめ

​ 今回は、Delta Live Tablesの紹介やデータパイプラインの複雑さ、データセットの種類とデータ品質の確保について解説しました。これらの知識を活用して、現代のデータパイプラインをより効果的に構築することができるでしょう。次回の第2部では、効率的なデータ処理とパイプラインの最適化について解説していきます。

おわりに

現地でのDAISに参加しているメンバーからの報告をもとに、セッションの内容を解説しました。 DAIS期間中では、セッションに関する記事を以下の特設サイトに順次上げていきますので、見ていただけると幸いです。

www.ap-com.co.jp

引き続きどうぞよろしくお願いします!