Azure Databricks を使用してデータ統合と分析ソリューションを設計する

完了

Azure Databricks はフル マネージドでクラウドベースのビッグ データおよび機械学習プラットフォームであり、開発者が AI とイノベーションを加速できるようにします。 Azure Databricks を利用すると、データ サイエンスとエンジニアリングのチームがビッグ データ処理と機械学習を単一のプラットフォームで行うことができます。 Azure Databricks のマネージド Apache Spark プラットフォームで、大規模な Spark ワークロードの実行がシンプルになります。

Azure Databricks について知っておくべきこと

Azure Databricks は完全に Apache Spark に基づいているため、このオープンソースのクラスター コンピューティング フレームワークに既に精通しているユーザーに最適なツールです。 統合分析エンジンとして、ビッグ データ処理専用に設計されています。 データ サイエンティストは、SQL、Java、Python、R、Scala などのコア言語に対応している組み込みのコア API を利用できます。

Azure Databricks には、コントロール プレーンとデータ プレーンがあります。

  • コントロール プレーン: Databricks のジョブ、ノートブックとクエリ結果、およびクラスター マネージャーをホストします。 コントロール プレーンには、Web アプリケーション、Hive メタストア、およびセキュリティ アクセス制御リスト (ACL)、ユーザー セッションもあります。 これらのコンポーネントは、Microsoft が Azure Databricks と協力して管理しており、利用者の Azure サブスクリプション内には存在しません。
  • データ プレーン: ワークスペース内でホストされている Azure Databricks ランタイム クラスターがすべて含まれています。 すべてのデータ処理およびストレージは、お客様のサブスクリプション内に存在します。 Microsoft/Databricks によって管理されるサブスクリプション内でデータ処理が行われることはありません。

Azure Databricks でデータ集中型アプリケーションを開発するための環境は次の 3 つがあります。

  • Databricks SQL: Azure Databricks SQL は、SQL クエリをデータ レイクに対して実行するアナリストのための使いやすいプラットフォームです。 複数の種類の視覚化を作成してクエリ結果をさまざまな視点から探索することや、ダッシュボードを構築して共有することができます。
  • Databricks Data Science & Engineering:Azure Databricks Data Science & Engineering は、データ エンジニア、データ サイエンティスト、機械学習エンジニアの間のコラボレーションを可能にする対話型の "ワークスペース" です。 ビッグ データ パイプラインのデータ (生または構造化) は、Azure Data Factory を介してバッチで Azure に取り込まれるか、Apache Kafka、Azure Event Hubs、または Azure IoT Hub を使って凖リアルタイムでストリーミングされます。 このデータは、長期永続保管のためのデータ レイクに到達します。これは Azure Blob Storage または Azure Data Lake Storage の中にあります。 分析ワークフローの中で、Azure Databricks を使用して複数のデータソースからデータを読み取り、Spark を使用して画期的な分析情報へと変えることができます。
  • Databricks Machine Learning: Azure Databricks Machine Learning は、統合型でエンドツーエンドの機械学習環境です。 実験追跡、モデルのトレーニング、機能の開発と管理、機能とモデルの提供のためのマネージド サービスが組み込まれています。

ビジネス シナリオ

Tailwind Traders の重機製造部門のシナリオを分析してみましょう。 Tailwind Traders は、ビッグ データの処理に Azure のクラウド サービスを使用しています。 バッチ データとストリーミング データの両方を扱っています。 この部門に所属するデータ エンジニア、データ サイエンティスト、データ アナリストが共同作業して、インサイトに満ちたレポートを迅速に、多くの利害関係者向けに作成しています。 ビッグ データの要件を満たすために、あなたは Azure Databricks を推奨して Data Science and Engineering 環境を実装する予定です。

では、なぜ Azure Databricks がこれらの要件を満たすのに適切な選択肢となるかを確認しましょう。

  • Azure Databricks は Apache Spark に基づく統合型の分析 "ワークスペース" であり、これを利用するとさまざまなユーザーの間のコラボレーションが可能になります。
  • Spark のコンポーネント (Spark SQL や Dataframes など) が使用されているため、Azure Databricks で構造化データを扱うことができます。 ストリーミング データを処理するために、Kafka や Flume などのリアルタイム データ インジェスト ツールと統合されています。
  • 安全なデータ統合機能が Spark 上に構築されているため、データを集中化しなくてもまとめることができます。 データ サイエンティストはデータを数ステップで視覚化でき、Matplotlib、ggplot、d3 などの使い慣れたツールを活用できます。
  • Azure Databricks ランタイムによってインフラストラクチャの複雑さが抽象化され、データ インフラストラクチャをセットアップして構成するための専門知識の必要性もなくなります。 ユーザーは、既に身につけた Python、Scala、R の言語スキルを使ってデータを探索できます。
  • Azure Databricks は Azure のデータベースとストア (Azure Synapse Analytics、Azure Cosmos DB、Azure Data Lake Storage、Azure Blob Storage など) と深く統合されています。 多様なデータ ストア プラットフォームがサポートされているため、Tailwind Traders のビッグ データ ストレージのニーズを満たすことができます。
  • Power BI と統合されているため、Tailwind Traders の要件の 1 つである、迅速で有意義な分析情報が可能になります。
  • Azure Databricks SQL は適切な選択肢ではありません。なぜなら非構造化データを扱うことができないからです。
  • Azure Databricks Machine Learning も環境の選択肢として適切ではありません。なぜなら、このシナリオでは機械学習は求められていないからです。

Azure Databricks を使用する際の考慮事項

Azure Databricks は、多数のシナリオのソリューションとして使用できます。 このサービスが Tailwind Traders のデータ統合ソリューションにどのように役立つのかを考えてみましょう。

  • データ サイエンスのデータ準備について考えます。 複雑な非構造化データのクラスターを作成し、クローンし、編集します。 このデータ クラスターを具体的なジョブに変換します。 結果をデータ サイエンティストとデータ アナリストに渡してレビューを受けます。
  • データ内のインサイトについて考えます。 Azure Databricks を実装してレコメンデーション エンジン、チャーン分析、侵入検出を構築します。
  • データと分析のチーム全体の生産性について考えます。 データ エンジニア、アナリスト、サイエンティストのためのコラボレーション環境と共有ワークスペースを作ります。 共有ワークスペースを使用して、チームどうしがデータ サイエンスのライフサイクル全体にわたって共同作業できるので、貴重な時間とリソースを節約するのに役立ちます。
  • ビッグ データのワークロードについて考えます。 Azure Data Lake とエンジンを活用して、ビッグ データ ワークロードのための最高のパフォーマンスと信頼性を実現します。 手間のかからないマルチステップ データ パイプラインを作成します。
  • 機械学習プログラムについて考えます。 統合型でエンド ツー エンドの機械学習環境を活用します。 実験追跡、モデルのトレーニング、機能の開発と管理、機能とモデルの提供のためのマネージド サービスが組み込まれています。