チュートリアル:HDInsight での Power BI を使用した Apache Spark データの分析

このチュートリアルでは、Microsoft Power BI を使用して Azure HDInsight で Apache Spark クラスター内のデータを視覚化する方法を学習します。

このチュートリアルでは、以下の内容を学習します。

  • Power BI を使用して Spark データを視覚化する

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

前提条件

データの検証

前のチュートリアルで作成した Jupyter Notebook には、hvac テーブルを作成するためのコードが含まれています。 この表は、\HdiSamples\HdiSamples\SensorSampleData\hvac\hvac.csv にあるすべての HDInsight Spark クラスターで使用可能な CSV ファイルに基づいています。 データの検証に使用する手順は、以下のとおりです。

  1. Jupyter Notebook から次のコードを貼り付けて、Shift + Enter キーを押します。 このコードによってテーブルの存在が検証されます。

    %%sql
    SHOW TABLES
    

    出力は次のようになります。

    Show tables in Spark

    このチュートリアルを開始する前に Notebook を閉じると、hvactemptable はクリーンアップされるため、出力に含まれません。 BI ツールからアクセスできるのは、metastore に保存された Hive テーブル (isTemporary 列に False と表示される) のみです。 このチュートリアルでは、作成した hvac テーブルに接続します。

  2. 次のコードを空のセルに貼り付け、Shift + Enter キーを押します。 このコードによってテーブル内のデータが検証されます。

    %%sql
    SELECT * FROM hvac LIMIT 10
    

    出力は次のようになります。

    Show rows from hvac table in Spark

  3. ノートブックの [File](ファイル) メニューの [Close and Halt](閉じて停止) を選びます。 Notebook をシャットダウンしてリソースを解放します。

データの視覚化

このセクションでは、Power BI を使用して Spark クラスター データから視覚エフェクト、レポート、およびダッシュボードを作成します。

Power BI Desktop でレポートを作成する

Spark を操作する最初のステップでは、Power BI Desktop のクラスターに接続し、クラスターからデータを読み込み、そのデータを基に基本的な視覚エフェクトを作成します。

  1. Power BI Desktop を開きます。 起動のスプラッシュ画面が開いていれば閉じます。

  2. [ホーム] タブから、 [データの取得]>[その他...] に移動します。

    Get data into Power BI Desktop from HDInsight Apache Spark

  3. 検索ボックスに「Spark」と入力し、 [Azure HDInsight Spark][接続] の順に選択します。

    Get data into Power BI from Apache Spark BI

  4. [サーバー] テキスト ボックスにクラスター URL を (mysparkcluster.azurehdinsight.net の形式で) 入力します。

  5. [データ接続モード] で、 [DirectQuery] を選択します。 [OK] をクリックします。

    Spark では、いずれかのデータ接続モードをご利用いただけます。 DirectQuery を使用する場合、データセット全体を更新しなくても変更がレポートに反映されます。 データをインポートする場合は、データセットを更新して変更内容を確認する必要があります。 DirectQuery をいつ、どのように使用するかの詳細については、「Power BI で DirectQuery を使用する」をご覧ください。

  6. HDInsight のログイン アカウント情報を入力し、 [接続] を選択します。 既定のアカウント名は admin です。

  7. hvac テーブルを選択し、データのプレビューが表示されるのを待ってから、 [読み込み] を選択します。

    Spark cluster user name and password

    Spark クラスターに接続し、hvac テーブルからデータを読み込むために必要な情報が Power BI Desktop に整いました。 [フィールド] ウィンドウにテーブルとその列が表示されます。

  8. 各ビルの目標温度と実際の温度の差を視覚化します。

    1. [視覚エフェクト] ウィンドウで [面グラフ] を選択します。

    2. [BuildingID] フィールドをにドラッグし、 [ActualTemp][TargetTemp] の各フィールドをにドラッグします。

      add value columns

      図は次のようになります。

      area graph sum

      既定では、ActualTemp および TargetTemp の合計が表示されます。 [視覚化] ウィンドウ内の ActualTempTragetTemp の横にある下矢印を選択すると、 [合計] が選択されていることを確認できます。

    3. [視覚化] ウィンドウ内の ActualTempTragetTemp の横にある下矢印を選択し、 [平均] を選択して、各ビルの実際の温度と目標温度の平均を取得します。

      average of values

      次のスクリーンショットのようにデータが視覚化されます。 グラフの上にカーソルを移動すると、関連データを含むツール ヒントが表示されます。

      area graph .png " alt-text="area graph" border="true":::

  9. [ファイル]>[保存] に移動し、ファイルの名前 BuildingTemperature を入力して [保存] を選択します。

Power BI サービスにレポートを発行する (省略可能)

Power BI サービスを使用すると、組織全体でレポートとダッシュボードを共有できます。 このセクションでは、まずデータセットとレポートを発行します。 次に、このレポートをダッシュボードにピン留めします。 通常、ダッシュボードは、レポート内のデータのサブセットにフォーカスするために使用します。 レポート内にある視覚エフェクトは 1 つのみですが、それでも手順を実行するのに役立ちます。

  1. Power BI Desktop を開きます。

  2. [ホーム] タブで [発行] を選択します。

    Publish from Power BI Desktop Desktop" border="true":::

  3. データセットを発行してレポートするワークスペースを選択して、 [選択] をクリックします。 次の図では、既定値の [マイ ワークスペース] が選択されています。

    Select workspace to publish dataset and report to

  4. 発行に成功したら、 [Open 'BuildingTemperature.pbix' in Power BI]('BuildingTemperature.pbix' を Power BI で開く) を選択します。

    Publish success, click to enter credentials

  5. Power BI サービスで、 [資格情報を入力する] を選択します。

    Enter credentials in Power BI service " border="true":::

  6. [資格情報を編集] を選択します。

    Edit credentials in Power BI service

  7. HDInsight のログイン アカウント情報を入力し、 [サインイン] を選択します。 既定のアカウント名は admin です。

    Sign in to Spark cluster Spark cluster" border="true":::

  8. 左ペインで [ワークスペース]>[マイ ワークスペース]>[レポート] の順に移動して、 [BuildingTemperature] を選択します。

    Report listed under reports in left pane

    左ウィンドウ枠の [データセット] にも [BuildingTemperature] が表示されます。

    これで、Power BI Desktop で作成したビジュアルが Power BI サービスで使用できるようになりました。

  9. 視覚エフェクトにカーソルを合わせ、右上隅のピン アイコンを選択します。

    Report in the Power BI service

  10. [新しいダッシュボード] を選択して、名前 Building temperature を入力し、 [ピン留め] を選択します。

    Pin to new dashboard to new dashboard" border="true":::

  11. レポートで、 [ダッシュボードへ移動] を選択します。

ビジュアルはダッシュボードにピン留めされます。他のビジュアルをレポートに追加して、同じダッシュボードにピン留めすることもできます。 レポートとダッシュボードの詳細については、「Power BI のレポート」のほか、Power BI のダッシュボードに関する記事を参照してください。

リソースをクリーンアップする

チュートリアルを完了したら、必要に応じてクラスターを削除できます。 HDInsight を使用すると、データは Azure Storage に格納されるため、クラスターは、使用されていない場合に安全に削除できます。 また、HDInsight クラスターは、使用していない場合でも課金されます。 クラスターの料金は Storage の料金の何倍にもなるため、クラスターを使用しない場合は削除するのが経済的にも合理的です。

クラスターを削除するには、「ブラウザー、PowerShell、または Azure CLI を使用して HDInsight クラスターを削除する」を参照してください。

次のステップ

このチュートリアルでは、Microsoft Power BI を使用して Azure HDInsight で Apache Spark クラスター内のデータを視覚化する方法を学習しました。 次の記事に進み、Machine Learning アプリケーションを作成できることを確認します。