Azure Databricksを活用したクラウドデータ課題の解決
GLB事業部Global Engineering部 ヨハンです。 現地でのData + AI SUMMIT2023(DAIS)に参加している永里の報告をもとに、セッションの内容をまとめた記事を書きました。
今回は、先日視聴した講演「Taking Your Cloud Vendor to the Next Level: Solving Complex Challenges with Azure Databricks」について、皆さんにわかりやすくお伝えしたいと思います。この講演は、AkamaiのSenior BD Data ArchitectであるTari Afer氏と、Engineering ManagerのThomas Patel氏によって行われました。講演のテーマは、Azure Databricksを使用してクラウドデータの課題を解決する方法についてで、データエンジニアやアナリスト、技術担当者にとって非常に興味深い内容となっています。 それでは、早速本題に入りましょう!
生データの格納とKafkaメッセージの活用
まずはじめに、生データの格納方法について説明されました。Argoファイルに生データを格納し、Kafkaメッセージにファイルのポインタまたはファイル名を格納することで、コスト効率が高く、パフォーマンスとスケーラビリティが向上するという事例が紹介されました。具体的な手順は以下の通りです。
生データをArgoファイルに格納: 大量の生データを効率的に格納するために、Argoファイル形式を利用します。Argoファイルは、圧縮率が高く、読み込み速度が速いことが特徴です。
Kafkaメッセージにポインタを格納: 生データへのアクセスを効率化するために、Kafkaメッセージに生データへのポインタを格納します。これにより、データの取得や処理が高速化されます。
ストレージの種類と選択方法
次に、ストレージの種類と選択方法について説明されました。Azure Databricksでは、以下の3種類のストレージが利用可能です。
標準のBlobストレージ
最小レイテンシのためのプレミアムBlobストレージ
Hadoop互換アクセスと階層的ディレクトリ構造のためのADLS
これらのストレージは、それぞれ異なる特徴を持っており、用途に応じて選択することが重要です。
データ取り込みとクエリパフォーマンスの最適化
データ取り込みとクエリパフォーマンスの最適化についても触れられました。WSARアーキテクチャを使用してKafkaメッセージからデータを取り込み、ストレージアカウントからファイルパスを取得する方法が紹介されました。具体的な手順は以下の通りです。
Kafkaメッセージを読み取る
ストレージアカウントからファイルパスを取得する
データを取り込む
また、Databricks Photonを使用してクエリパフォーマンスを向上させる方法も説明されました。Databricks Photonは、ベクター化されたクエリエンジンやメモリ最適化、ハードウェアアクセラレーション(GPU)を活用した高速な計算が可能です。
セキュリティイベントの分析と表示
最後に、セキュリティイベントの分析と表示について説明されました。クエリビルダーを使用してUIからのAPI呼び出しを処理し、Databricks SQLまたはSpark SQLを使用してSQLクエリを構築することで、顧客がセキュリティイベントをドリルダウン、集計、表示できるようにしています。
まとめ
今回の講演では、Azure Databricksを活用してクラウドデータの課題を解決する方法が紹介されました。生データの格納方法やストレージの種類と選択方法、データ取り込みとクエリパフォーマンスの最適化、セキュリティイベントの分析と表示など、非常に興味深い内容が盛りだくさんでした。Azure Databricksを活用して、クラウドデータの課題に取り組んでみてはいかがでしょうか。
おわりに
現地でのDAISに参加しているメンバーからの報告をもとに、セッションの内容を解説しました。 DAIS期間中では、セッションに関する記事を以下の特設サイトに順次上げていきますので、見ていただけると幸いです。
引き続きどうぞよろしくお願いします!