Skip to content

MS_AzureHDInsight

nishi_74322014 edited this page Aug 19, 2026 · 1 revision

Azure HDInsight

概要

  • Hadoop テクノロジ スタックを使用した
    エンタープライズ向けデータ分析マネージド・サービス

  • Hadoop テクノロジ スタック

    • Hadoop
    • Apache Spark
    • Apache Hive
    • LLAP
    • Apache Kafka
    • Apache Storm
    • R

※ 今後、メイン・ストリームは、Azure Databricks に移って行く。

補足(最新化 / 原文の見立ては当たった): 「メイン ストリームは
Databricks に移って行く」という原文の予測は、そのとおりになった。
現在の HDInsight は次の状況にある。

種別 現況
HDInsight 4.0 / 5.0(従来版) Spark、Hive、HBase、Kafka は継続。ただし新機能の投入は少ない
Storm / ML Services / Kafka(一部) クラスタ種別として提供終了
HDInsight on AKS 2024 年に登場したが 2025 年 3 月に廃止

したがって新規構築で HDInsight を選ぶ場面は限られる
現在の選択は、

  • Spark を使いたい → Azure Databricks または
    Azure Synapse の Spark プール、Microsoft Fabric
  • Kafka を使いたい → Azure Event Hubs(Kafka 互換)
  • 既存の Hadoop 資産をそのまま持ち込みたい → HDInsight

という整理になる。

詳細

取り敢えず、.NET for Apache Spark ガイドのコンテンツをやってみる。

開発(.NET for Apache Sparkチュートリアル(MS_DotNetForApacheSparkTutorial.md))

(Get started in 10 minutes)

デプロイ

※ 無料試用版サブスクリプションで利用可能との事。

ストレージ・アカウントにアクセスする

  • Azure Storage Explorer を使用しアクセス。
  • 後述の「クラスタの作成」で必要になるため(≒前提)。

HDInsight クラスタの作成

  • [+ リソースの作成] を選択
  • 次に、 [分析] カテゴリから [HDInsight] を選択
  • [基本] の値を指定
  • [ストレージ] で値を指定して BLOB コンテナをマウント

アプリの発行

  • ターゲットは ubuntu
>dotnet publish -c Release -f netcoreapp3.1 -r ubuntu.16.04-x64
  • publish したものを publish.zip にまとめる。

ファイルのアップロード

次のファイルをアップロードする。

  • 発行したアプリ

    • publish.zip
    • input.txt
    • microsoft-spark-2-4_2.11-1.0.0.jar(ローカル実行で使用したもの)
  • 依存関係

    • Microsoft.Spark.Worker(ローカル実行で使用したものに対応する Linux 版の *.tar.gz
    • install-worker.sh
    • db-init.sh
  • ポイント

    • 詳細はコチラ(Azure Databricks)
    • クラスタのストレージ用に選択した BLOB コンテナにアップロード。
      • Azure Storage Explorer を開いて、
      • 左側のメニューからストレージ アカウントに移動、
      • ストレージ アカウント内の [BLOB コンテナー] で、
      • クラスターの BLOB コンテナーをドリルダウンする。

実行

スクリプト アクションを実行

  • クラスタで install-worker.sh スクリプトを実行($1-3 をパラメタライズ)
  • 約 20 分で、Linux(ubuntu)ベースの HDInsight Spark クラスタが作成される。

アプリの実行

  • SSH でターミナルにログインする。

  • マウントされたストレージに input.txt をアップロード

    • BLOB コンテナー内の user/sshuser ディレクトリ
    • エラーログを確認して、/user/sshuser/input.txt にアップロードとか...
  • spark-submit コマンドを使用して、
    HDInsight クラスタでアプリケーションを実行する。

$SPARK_HOME/bin/spark-submit \
--master yarn \
--class org.apache.spark.deploy.dotnet.DotnetRunner \
wasbs://<container_name>@<storage_account_name>.blob.core.windows.net/microsoft-spark-2-4_2.11-1.0.0.jar \
wasbs://<container_name>@<storage_account_name>.blob.core.windows.net/publish.zip mySparkApp

wasbs://~ は、

  • WASB(Windows Azure Storage Blob)を参照するための URI。
  • 実際の <container_name>@<storage_account_name> に置き換える。

※ 実行に必要となる引数(.NET for Apache Sparkチュートリアル(MS_DotNetForApacheSparkTutorial.md))が
存在する場合、Azure Databricks ではコチラの方法で指定可能だった。

補足(最新化): wasbs://(WASB ドライバー)は
Data Lake Storage Gen2 では abfss://
(ABFS ドライバー)に置き換わっている

HNS を有効にしたストレージでは abfss:// を使うこと。

abfss://<コンテナー>@<ストレージ アカウント>.dfs.core.windows.net/<パス>

リソースのクリーンアップ

リソース グループを削除する。

補足: HDInsight はクラスタが起動している間ずっと課金される
(ノードの VM 料金)。検証で作った場合は必ず削除すること。
Azure Data Explorer と同様、
Azureの課金 の想定外課金の典型例になりやすい。

Azure Databricks との比較(Azure Databricksチュートリアル(MS_AzureDatabricksTutorial.md))

スクリプト アクション実行
≒ Azure Databricks のクラスタの作成中の db-init.sh 設定アプリの実行

参考

gihyo.jp … 技術評論社

クリエーションライン株式会社

Microsoft Azure

Microsoft Learn

Azure HDInsight

https://learn.microsoft.com/ja-jp/azure/hdinsight/

  • 概要
    https://learn.microsoft.com/ja-jp/azure/hdinsight/hdinsight-overview

  • チュートリアル

    • HDInsight クラスターの作成

    • HDInsight クラスターの管理

      • ポータル
      • CLI
      • .NET SDK
      • PowerShell
    • その他

      • Runbook を使用してクラスターを作成する
      • Apache Ambari のメール通知
      • ETL パイプラインの作成
  • サンプル

    • Azure CLI のサンプル
    • .NET のサンプル
    • Java のサンプル
    • Python のサンプル
    • Azure サンプル ブラウザ

.NET、C#

...

開発基盤部会 Wiki & Blog(.NET for Apache Spark


Tags: 移行, インフラストラクチャ, クラウド, ビッグデータ, Azure

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally