Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Microsoft Japan Data Platform Tech Sales Team
高木 英朗
過去 2 回にわたる記事で HDInsight を簡単に使ってみる方法を紹介しました。
前回は HDInsight に付属のサンプルデータを使用してクエリを実行しましたが、今回はどのようにしてHDInsightにデータを取り込むことができるかを紹介します。
HDInsight のストレージ
HDInsight はデフォルトで HDFS ではなく Azure BLOB ストレージを使用します (HDFS や Azure Data Lake Store を使用することもできます)。
Hadoop では HDFS を使い可能な限りローカルディスクのデータを処理することで、分散コンピューティングにおけるデータ移動を極力抑え、パフォーマンスやスケーラビリティを確保しています。BLOB ストレージは HDInsight のワーカーノードとは別のリモートストレージになりますが、フラットなネットワークアーキテクチャによりコンピューティング サービスとストレージの間で高い帯域幅が確保されます。
フラットネットワークについては以下のリンクが参考になります。
以下は HDInsight のストレージアーキテクチャのイメージです。
HDInsight で BLOB ストレージを使うメリットには以下があります。
HDInsight にデータを取り込む方法
HDInsight にデータを取り込む方法の一部を紹介します。HDInsight は HDFS 互換のインターフェースに加え、BLOB ストレージ用のツールもサポートしているため、目的に応じて様々な方法でデータを取り込むことができます。
ツール | CLI | GUI | 概要 |
---|---|---|---|
Azure CLI | 〇 | Azure を管理するためのコマンドラインツールです。BLOB ストレージを操作するためのツール群が揃っています。 | |
Azure PowerShell | 〇 | Azure のサービスをデプロイしたり自動化するためのスクリプトです。BLOB ストレージを操作するためのツール群が揃っています。 | |
AzCopy | 〇 | BLOB ストレージにデータを送受信するための専用ツールです。 | |
Hadoopコマンド | 〇 | BLOB Hadoop 標準のコマンドラインツールです。クラスタ内のローカルディスクと BLOB とのデータのやり取りや、Azure ストレージと HDFS 間のデータのコピーの際に便利です。 | |
Sqoop | 〇 | Hadoop エコシステムツールの一つです。Hadoop から RDBMS、RDBMS から Hadoop にデータを効率よく取り込むためのツールです。 | |
Azure Storage Explorer | 〇 | BLOB ストレージ内のデータを管理するためのGUIツールです。 | |
Visual Studio | 〇 | Visual Studio Tools for HDInsight を使用して、HDInsight クラスターに接続して Hive クエリを実行したり、データを BLOB ストレージにアップロードすることが可能です。 | |
IntelliJ IDEA | 〇 | IntelliJ IDEA は Java, Scala をはじめとした多くの言語に対応した IDE です。Microsoft Azure HDInsight Tools for IntelliJ を使用して、Spark アプリケーションを開発したり、データを BLOB ストレージにアップロードすることが可能です。 | |
SQL Server Integration Services (SSIS) | 〇 | SQL Server Integration Services、通称 SSIS は ETL ツールです。SQL Server Integration Services Feature Pack for Azure を使用すると、Azure とオンプレミスのデータソースとの間でのデータ転送や処理が可能になります。SQL Server Integration Services (SSIS) の使い方をご参照ください。 | |
Ambari | 〇 | HDInsightのクラスター管理を行う Ambari が提供する Hive View で Hiveクエリの実行やテーブルの管理、データをアップロードしてテーブルを作成する等の管理操作が可能です。 | |
Hue | 〇 | Hive や Pig を実行したり、データを管理するためのWebアプリケーションです。HDInsight のスクリプト アクションを使用してインストールすることができます。 | |
Azure Data Factory | 〇 | データの移動、保存、処理を実行し、自動化するための Azure 上のサービスです。これを使って BLOB ストレージおよび HDFS のデータやり取りや Hive、Pig 等のジョブ実行が可能です。 | |
Azure Stream Analytics | 〇 | リアルタイムのイベント処理を行う Azure 上のサービスです。リアルタイム処理を行った結果を BLOB ストレージに出力することが可能です。 |
上記のデータ取り込み方法の中からいくつか簡単にご紹介します。
Visual Studio Tools for HDInsight
Visual Studio Tools for HDInsight をインストールすることで、主に Hive、Pig、Storm アプリケーションを開発することができます。プラグインを使用して Visual Studio から HDInsight に接続し、クラスターで使用しているBLOBストレージを参照したりデータをアップロードすることができます。
IntelliJ IDEA
IntelliJ IDEA は Microsoft Azure HDInsight Tools for IntelliJ プラグインをインストールすることで、おもに Spark アプリケーションを開発することができます。プラグインを使用して Visual Studio と同様に HDInsight に接続し、クラスターで使用している BLOB ストレージを参照したりデータをアップロードすることができます。
Ambari Hive View
Ambari Hive View では ストレージに直接アップロードするのではなく、 アップロードするファイルをもとに Hive テーブルを定義して、定義したテーブルにデータをロードすることができます。
Hue
Hue は HDInsight のスクリプトアクションによってインストールすることができます(標準ではインストールされません)。インストール後にヘッドノードの指定ポートにブラウザからアクセスすると Hue のアプリケーションを利用することができます。以下は BLOB ストレージに格納されているデータを管理するための File Browser 画面です。
Azure Stream Analytics
Azure Stream Analytics はリアルタイムのイベント処理を行うサービスで、センサーやログなどの大量のマシンデータを取り扱うのに便利です。出力結果を BLOB ストレージに保存して、HDInsight から処理することが可能です。下図は Azure の各サービスによって構成するラムダアーキテクチャの例ですが、Stream Analytics からの出力をリアルタイムに Power BI でモニタリングする経路だけでなく、BLOB ストレージに保存して HDInsight で加工・集計を行って分析する経路も実装しています。
HDInsight は Hadoop がもつインターフェースに加えて、Azure がもつ様々なインターフェースも利用できるため、用途に応じて非常に柔軟にデータを取り込んで活用することができます。ぜひお試しください。
関連記事
Please sign in to use this experience.
Sign in