Azure でのバッチ処理テクノロジの選択
ビッグ データ ソリューションでは、長時間実行されるバッチ ジョブを使用して、分析のためにデータのフィルター処理、集計、その他の準備を行うことがよくあります。 通常、このようなジョブには、スケーラブル ストレージ (HDFS、Azure Data Lake Store、Azure Storage など) からソース ファイルを読み取り、処理し、出力をスケーラブル ストレージの新しいファイルに書き込む作業が含まれます。
このようなバッチ処理エンジンの基本的な要件は、大量のデータを処理するために計算をスケールアウトすることです。 リアルタイム処理とは異なり、バッチ処理の場合、分単位から時間単位の待機時間 (データ インジェストから結果の計算までの時間) が生じることが予想されます。
バッチ処理向けのテクノロジの選択
Azure Synapse Analytics
Azure Synapse は、大規模なデータの分析を目的として設計された分散システムです。 超並列処理 (MPP) がサポートされているので、ハイパフォーマンス分析の実行に適しています。 大量のデータ (1 TB 超) があり、並列処理のメリットが得られる分析ワークロードを実行する場合に、Azure Synapse を検討します。
Azure Data Lake Analytics
Data Lake Analytics は、オンデマンド分析ジョブ サービスです。 Azure Data Lake Store に保存されている大きなデータ セットの分散処理用に最適化されています。
- 言語:U-SQL (Python、R、および C# の拡張機能を含む)。
- Azure Data Lake Store、Azure Storage Blob、Azure SQL Database、および Azure Synapse と統合されています。
- 価格モデルはジョブごとです。
HDInsight
HDInsight はマネージド Hadoop サービスです。 これを使用して Azure で Hadoop クラスターをデプロイおよび管理します。 バッチ処理では、Spark、Hive、Hive LLAP、MapReduce を使用できます。
- 言語:R、Python、Java、Scala、SQL
- Active Directory による Kerberos 認証、Apache Ranger ベースのアクセスの制御
- Hadoop クラスターの完全なコントロールが可能
Azure Databricks
Azure Databricks は、Apache Spark ベースの分析プラットフォームです。 "サービスとしての Spark" と考えることができます。これは、Azure プラットフォームで Spark を使用する最も簡単な方法です。
- 言語:R、Python、Java、Scala、Spark SQL
- 迅速なクラスターの開始、自動終了、自動スケーリング
- Spark クラスターの自動管理
- Azure Blob Storage、Azure Data Lake Storage (ADLS)、Azure Synapse、およびその他のサービスの組み込み統合。 データ ソースに関するセクションを参照してください。
- Microsoft Entra ID を使用したユーザー認証。
- Web ベースのノートブックによるコラボレーションとデータ探索
- GPU 対応クラスターをサポート
主要な選択条件
選択肢を絞り込むために、まず次の質問に答えてください。
独自のサーバーを管理するのではなく、管理されたサービスが必要ですか。
バッチ処理ロジックの作成は宣言型と命令型のどちらですか。
大量にバッチ処理を実行しますか。 "はい" の場合は、クラスターを自動終了するオプションか、価格モデルがバッチ ジョブごとであるオプションを検討してください。
参照データを検索するなど、バッチ処理と共にリレーショナル データ ストアに対してクエリを実行する必要はありますか。 "はい" の場合は、外部リレーショナル ストアのクエリ処理が可能なオプションを検討してください。
機能のマトリックス
次の表は、機能の主な相違点をまとめたものです。
一般的な機能
機能 | Azure Data Lake Analytics | Azure Synapse | HDInsight | Azure Databricks |
---|---|---|---|---|
マネージド サービスか | はい | はい | はい 1 | はい |
リレーショナル データ ストア | はい | 有効 | 無効 | はい |
価格モデル | バッチ ジョブごと | クラスター時間単位 | クラスター時間単位 | Databricks の単位2 + クラスター時間 |
[1] 手動構成を使用します。
[2] Databricks の単位 (DBU) は、1 時間あたりの処理能力の単位です。
機能
機能 | Azure Data Lake Analytics | Azure Synapse | Spark を使用する HDInsight | Hive を使用する HDInsight | Hive LLAP を使用する HDInsight | Azure Databricks |
---|---|---|---|---|---|---|
自動スケール | いいえ | 番号 | 有効 | イエス | イエス | はい |
スケールアウトの細分性 | ジョブごと | クラスターごと | クラスターごと | クラスターごと | クラスターごと | クラスターごと |
データのメモリ内キャッシュ | いいえ | 有効 | 有効 | 無効 | 有効 | はい |
外部リレーショナル ストアからのクエリ | はい | 無効 | イエス | No | 番号 | はい |
認証 | Microsoft Entra ID | SQL / Microsoft Entra ID | いいえ | Microsoft Entra ID1 | Microsoft Entra ID1 | Microsoft Entra ID |
監査 | はい | 有効 | いいえ | はい 1 | はい 1 | はい |
行レベルのセキュリティ | いいえ | はい2 | いいえ | はい 1 | はい 1 | はい |
ファイアウォールをサポート | はい | イエス | はい | はい 3 | はい 3 | はい |
動的データ マスク | いいえ | イエス | いいえ | はい 1 | はい 1 | はい |
[1] ドメイン参加済み HDInsight クラスターを使用する必要があります。
[2] フィルター述語のみ。 「行レベルのセキュリティ」をご覧ください
[3] Azure Virtual Network 内で使用する場合にサポートされます。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパル作成者:
- Zoiner Tejada | CEO 兼アーキテクト
次のステップ
- Azure Synapse Analytics でレイク データベースを作成する
- Azure Databricks ワークスペースを作成します
- Azure Databricks を探索する
- Azure portal で Azure Data Lake Analytics の使用を開始する
- Azure Synapse Analytics の概要
- Azure Databricks とは
- Azure Synapse Analytics とは
関連リソース
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示