-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureHDInsight
- 戻る(Azure)
-
ビッグデータ処理テクノロジ
- Azure HDInsight
- Azure Databricks
- Azure Data Factory
- Elastic on Azure
-
ストリーム処理テクノロジ
- Azure Stream Analytics
- Azure HDInsight の Hadoop、Spark、Storm
- Azure Databricks の Apache Spark
- Azure Data Factory
-
ビッグデータ処理テクノロジ
-
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 ガイドのコンテンツをやってみる。
(Get started in 10 minutes)
※ 無料試用版サブスクリプションで利用可能との事。
ストレージ・アカウントにアクセスする
- Azure Storage Explorer を使用しアクセス。
- 後述の「クラスタの作成」で必要になるため(≒前提)。
- [+ リソースの作成] を選択
- 次に、 [分析] カテゴリから [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
- Microsoft.Spark.Worker(ローカル実行で使用したものに対応する Linux 版の
-
ポイント
- 詳細はコチラ(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 のクラスタの作成中の db-init.sh 設定+アプリの実行
- Microsoft Azure / Azure HDInsight とは
https://www.ossnews.jp/oss_info/Azure_HDInsight
- HDInsight を知る〜ビッグデータ×クラウド:連載
https://gihyo.jp/dev/serial/01/hdinsight- 第1回 HDInsight とは何か?
https://gihyo.jp/dev/serial/01/hdinsight/0001 - 第2回 HDInsight を体験する
https://gihyo.jp/dev/serial/01/hdinsight/0002
- 第1回 HDInsight とは何か?
- Hadoop を Microsoft Azure 上で動かしてみる!
-
Azure HDInsight - Hadoop、Spark、および Kafka サービス
https://azure.microsoft.com/ja-jp/products/hdinsight/ -
Azure でオープンソース分析を実行
https://azure.microsoft.com/ja-jp/free/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 サンプル ブラウザ
-
Microsoft Learn
- Azure HDInsight SDK for .NET - Azure for .NET Developers
https://learn.microsoft.com/ja-jp/dotnet/api/overview/azure/hdinsight
- Azure HDInsight SDK for .NET - Azure for .NET Developers
-
Microsoft Learn > Azure HDInsight
-
.NET サンプル
https://learn.microsoft.com/ja-jp/azure/hdinsight/hdinsight-sdk-dotnet-samples -
非対話型認証 .NET アプリケーション
https://learn.microsoft.com/ja-jp/azure/hdinsight/hdinsight-create-non-interactive-authentication-dotnet-applications -
Apache Hadoop
- HDInsight .NET SDK を使用して MapReduce ジョブを送信する
https://learn.microsoft.com/ja-jp/azure/hdinsight/hadoop/apache-hadoop-use-mapreduce-dotnet-sdk - HDInsight の Hadoop において MapReduce で C# を使用する
https://learn.microsoft.com/ja-jp/azure/hdinsight/hadoop/apache-hadoop-dotnet-csharp-mapreduce-streaming
- HDInsight .NET SDK を使用して MapReduce ジョブを送信する
-
Apache HBase
-
Interactive Query
-
Apache Hadoop 上での C#、Apache Hive、Apache Pig
https://learn.microsoft.com/ja-jp/azure/hdinsight/hadoop/apache-hadoop-hive-pig-udf-dotnet-csharp -
HDInsight .NET SDK を使用して Apache Hive クエリを実行する
https://learn.microsoft.com/ja-jp/azure/hdinsight/hadoop/apache-hadoop-use-hive-dotnet-sdk -
Apache Hive と Data Lake Tools for Visual Studio
https://learn.microsoft.com/ja-jp/azure/hdinsight/hadoop/apache-hadoop-use-hive-visual-studio
-
-
Apache Storm
-
Visual Studio と C# を使った Apache Storm トポロジ
https://learn.microsoft.com/ja-jp/azure/hdinsight/storm/apache-storm-develop-csharp-visual-studio-topology -
Storm を使用して Event Hubs のイベントを処理する
https://learn.microsoft.com/ja-jp/azure/hdinsight/storm/apache-storm-develop-csharp-event-hub-topology
-
-
-
Apache Spark
...
-
使い方ガイド
- データーへの接続(.NET for Apache Sparkチュートリアル(
MS_DotNetForApacheSparkTutorial.md)) - リモート ジョブを送信する
- データーへの接続(.NET for Apache Sparkチュートリアル(
-
チュートリアル(.NET for Apache Sparkチュートリアル(
MS_DotNetForApacheSparkTutorial.md))- .NET for Apache Spark アプリケーションをデプロイする
-
Channel 9 > .NET for Apache Spark 101
Deploy .NET for Apache Spark App to- Azure HDInsight [8 of 8]
https://learn.microsoft.com/ja-jp/shows/net-for-apache-spark-101/
- Azure HDInsight [8 of 8]
開発基盤部会 Wiki & Blog(.NET for Apache Spark)
Tags: 移行, インフラストラクチャ, クラウド, ビッグデータ, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。