Azure Databricks を探索する

Azure Databricks は、一般的なオープンソース Databricks プラットフォームの Microsoft Azure ベースのバージョンです。

Azure Databricks のワークスペースは、Azure 上の Databricks クラスター、データ、およびリソースを管理するための中心点を提供します。

この演習では、Azure Databricks ワークスペースをプロビジョニングし、そのコア機能の一部について説明します。

この演習の所要時間は約 30 分です。

: Azure Databricks ユーザー インターフェイスは継続的な改善の対象となります。 この演習の手順が記述されてから、ユーザー インターフェイスが変更されている場合があります。

Azure Databricks ワークスペースをプロビジョニングする

ヒント: 既に Azure Databricks ワークスペースがある場合は、この手順をスキップして、既存のワークスペースを使用できます。

  1. Azure portal (https://portal.azure.com) にサインインします。
  2. ページ上部の検索バーの右側にある [>_] ボタンを使用して、Azure portal に新しい Cloud Shell を作成します。PowerShell 環境を選択します。 次に示すように、Azure portal の下部にあるペインに、Cloud Shell のコマンド ライン インターフェイスが表示されます。

    Azure portal と Cloud Shell のペイン

    : Bash 環境を使用するクラウド シェルを以前に作成した場合は、それを PowerShell に切り替えます。

  3. ペインの上部にある区分線をドラッグして Cloud Shell のサイズを変更したり、ペインの右上にある X アイコンを使用して、ペインを最小化または最大化したり、閉じたりすることができます。 Azure Cloud Shell の使い方について詳しくは、Azure Cloud Shell のドキュメントをご覧ください。

  4. PowerShell のペインで、次のコマンドを入力して、リポジトリを複製します。

     rm -r mslearn-databricks -f
     git clone https://github.com/MicrosoftLearning/mslearn-databricks
    
  5. リポジトリをクローンした後、次のコマンドを入力して setup-serverless.ps1 スクリプトを実行します。これにより、使用可能なリージョンに Azure Databricks ワークスペースがプロビジョニングされます。

     ./mslearn-databricks/setup-serverless.ps1
    
  6. メッセージが表示された場合は、使用するサブスクリプションを選択します (これは、複数の Azure サブスクリプションへのアクセス権を持っている場合にのみ行います)。
  7. スクリプトの完了まで待ちます。通常、約 5 分かかりますが、さらに時間がかかる場合もあります。 待っている間に、Azure Databricks ドキュメントの記事「Azure Databricks での探索的データ分析」を確認してください。

Azure Databricks ワークスペースを開く

  1. Azure portal で、スクリプトによって作成された msl-xxxxxxx リソース グループ (または既存の Azure Databricks ワークスペースを含むリソース グループ) に移動します

  2. Azure Databricks Service リソース (セットアップ スクリプトを使って作成した場合は、databricks-xxxxxxx という名前) を選択します。

  3. Azure Databricks ワークスペースの [概要] ページで、[ワークスペースの起動] ボタンを使用して、新しいブラウザー タブで Azure Databricks ワークスペースを開きます。サインインを求められた場合はサインインします。

    ヒント: Databricks ワークスペース ポータルを使用すると、さまざまなヒントと通知が表示される場合があります。 これらは無視し、指示に従ってこの演習のタスクを完了してください。

Spark を使用してデータを分析する

多くの Spark 環境と同様に、Databricks では、ノートブックを使用して、データの探索に使用できるノートと対話型のコード セルを組み合わせることができます。

  1. products.csv ファイルを https://raw.githubusercontent.com/MicrosoftLearning/mslearn-databricks/main/data/products.csv からローカル コンピューターにダウンロードし、products.csv として保存します。
  2. サイドバーの [(+) 新規] リンク メニューで、[データを追加またはアップロード] を選択します。
  3. [テーブルの作成または変更] を選択し、ダウンロードした products.csv ファイルをコンピューターにアップロードします。
  4. [ファイルのアップロードからテーブルを作成または変更する] ページで、ページの右上にある [Serverless Starter Warehouse] が選択されていることを確認します。 次に、カタログとその既定のスキーマを選択して、products という名前の新しいテーブルを作成します。
  5. [カタログ エクスプローラー] ページで、[製品] テーブルが作成されたら、[作成] ボタン メニューで、[ノートブック] を選択してノートブックを作成します。
  6. ノートブックで、ノートブックが サーバーレス コンピューティングに接続されていることを確認し、最初のセルに自動的に追加されたコードを確認します。これは次のようになるはずです。

     %sql
     SELECT * FROM `<your catalog>`.`default`.`products`;
    
  7. セルの左側にある [▸ セルの実行] メニュー オプションを使用してセルを実行し、ダイアログが表示されたらクラスターを起動してアタッチします。
  8. コードによって実行される Spark ジョブが完了するまで待ちます。 このコードは、アップロードしたファイルに基づいて作成されたテーブルからデータを取得します。
  9. 結果の表の上にある [+][視覚化] の順に選択して視覚化エディターを表示し、次のオプションを適用します。
    • 視覚化の種類: 横棒
    • X 列: カテゴリ
    • Y 列: “新しい列を追加し、” ProductID “を選択します”。** Count “集計を適用します”。** **

    視覚化を保存し、次のようにノートブックに表示されることを確認します。

    カテゴリ別の製品数を示す横棒グラフ

データフレームを使用してデータを分析する

ほとんどのデータ分析では、前の例のような SQL コードの使用で十分ですが、一部のデータ アナリストやデータ サイエンティストは、データを効率的に操作するために、PySpark (Python の Spark 最適化バージョン) などのプログラミング言語におけるデータフレームなどのネイティブ Spark オブジェクトを使用する可能性があります。

  1. ノートブックで、先ほど実行したコード セルのグラフ出力の下で、[+ コード] アイコンを使用して新しいセルを追加します。

    ヒント: [+ コード] アイコンを表示するには、出力セルの下にマウスを移動することが必要な場合があります。

  2. この新しいセルに次のコードを入力して実行します。

     df = spark.sql("SELECT * FROM products")
     df = df.filter("Category == 'Road Bikes'")
     display(df)
    
  3. “ロード バイク” カテゴリの製品を返す新しいセルを実行します。**

Databricks アシスタントを使用する

Databricks Assistant は、コードの記述、理解、デバッグに役立つ AI 搭載のツールです。 ノートブック内で使用でき、自然言語のサポートを提供します。

  1. ノートブックで、ノートブックの右上の領域にある [アシスタント] アイコン (チャット バブルのように見えます) を選択して、[アシスタント] パネルを開きます。

    :Databricks Assistant を使用する前に、ご契約条件に同意するように求められる場合があります。

  2. [アシスタント] パネルで、質問「What is a Spark dataframe?」を入力して送信します。 アシスタントから、データフレームとは何か、およびそれらが Spark で使用されるしくみを説明する応答が提供されます。

  3. アシスタントにデータ関連の質問をしてみてください。 「Show me only products with a price over 100」と入力して送信します。 アシスタントでは、要求に基づいてデータをフィルター処理する SQL または Python コードが生成されます。

  4. 生成されたコードを、新しいセルを作成して挿入します。 セルを実行し、出力を確認します。

    [!NOTE] エラー メッセージが表示された場合は、[エラーの診断] ボタンを選択してみてください。

  5. アシスタントがコードの修正にどのように役立つかを確認するには、意図的なエラーが記述されている次のコードを含む新しいコード セルを追加します。

     df = spark.sql("SELECT * FORM products")
     display(df)
    
  6. セルを実行し、エラー メッセージを確認します。 次に、表示される [エラーの診断] ボタンを選択するか、アシスタントに「Fix this code」と質問して、コードを含めます。 アシスタントで問題が特定され (キーワード FORMFROMである必要があります)、修正済みのコードが提案されます。

     df = spark.sql("SELECT * FROM products")
     display(df)
    
  7. 修正プログラムを適用し、セルを実行して、正常に動作することを確認します。

クリーンアップ

Azure Databricks ポータルの [コンピューティング] ページでクラスターを選択し、[■ 終了] を選択してクラスターをシャットダウンします。

Azure Databricks を調べ終わったら、作成したリソースを削除できます。これにより、不要な Azure コストが生じないようになり、サブスクリプションの容量も解放されます。