クイック スタート:Azure portal を使用して Azure HDInsight 内に Apache Spark クラスターを作成するQuickstart: Create Apache Spark cluster in Azure HDInsight using Azure portal

Azure HDInsight に Apache Spark クラスターを作成し、Hive テーブルに対して Spark SQL クエリを実行する方法を説明します。Learn how to create Apache Spark cluster in Azure HDInsight, and how to run Spark SQL queries against Hive tables. Apache Spark により、メモリ内処理を使用した、高速のデータ分析とクラスター コンピューティングが可能になります。Apache Spark enables fast data analytics and cluster computing using in-memory processing. HDInsight 上のSpark については、Azure HDInsight での Apache Spark の概要に関する記事をご覧ください。For information on Spark on HDInsight, see Overview: Apache Spark on Azure HDInsight.

このクイック スタートでは、Azure portal を使って HDInsight Spark クラスターを作成します。In this quickstart, you use the Azure portal to create an HDInsight Spark cluster. クラスターは、クラスター記憶域として Azure Storage Blob を使います。The cluster uses Azure Storage Blobs as the cluster storage. Data Lake Storage Gen2 の使用法の詳細については、「クイック スタート:HDInsight のクラスターを設定する」をご覧ください。For more information on using Data Lake Storage Gen2, see Quickstart: Set up clusters in HDInsight.

重要

HDInsight クラスターの料金は、そのクラスターを使用しているかどうかに関係なく、分単位で課金されます。Billing for HDInsight clusters is prorated per minute, whether you are using them or not. 使用後は、クラスターを必ず削除してください。Be sure to delete your cluster after you have finished using it. 詳しくは、この記事の「リソースのクリーンアップ」をご覧ください。For more information, see the Clean up resources section of this article.

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

HDInsight Spark クラスターを作成するCreate an HDInsight Spark cluster

  1. Azure portal で、 [リソースの作成] > [分析] > [HDInsight] の順に選びます。In the Azure portal, select Create a resource > Analytics > HDInsight.

    Azure portal での HDInsight リソースの作成Azure portal create a resource HDInsight

  2. [基本] で次の値を指定します。Under Basics, provide the following values:

    プロパティProperty 説明Description
    SubscriptionSubscription ドロップダウンから、このクラスターに使う Azure サブスクリプションを選びます。From the drop-down, select an Azure subscription used for this cluster. このクイックスタートで使うサブスクリプションは Azure です。The subscription used for this quickstart is Azure.
    Resource groupResource group 新しいリソース グループを作成するか、既存のリソース グループを使用するかを指定します。Specify whether you want to create a new resource group or use an existing one. リソース グループは、Azure ソリューションの関連するリソースを保持するコンテナーです。A resource group is a container that holds related resources for an Azure solution. このクイックスタートで使うリソース グループ名は myResourceGroup です。The resource group name used for this quickstart is myResourceGroup.
    クラスター名Cluster name HDInsight Spark クラスターの名前を指定します。Give a name to your HDInsight Spark cluster. このクイックスタートで使われるクラスターの名前は myspark2019 です。The cluster name used for this quickstart is myspark2019.
    LocationLocation リソース グループの場所を選びます。Select a location for the resource group. テンプレートでは、この場所をクラスターの作成および既定のクラスター ストレージに使用します。The template uses this location for creating the cluster as well as for the default cluster storage. このクイックスタートで使う場所は米国東部です。The location used for this quickstart is East US.
    クラスターの種類Cluster type クラスターの種類として [Spark] を選択します。Select Spark as the cluster type.
    クラスターのバージョンCluster version クラスターの種類が選択されると、このフィールドに既定のバージョンが自動的に入力されます。This field will auto-populate with the default version once the cluster type has been selected.
    クラスター ログイン ユーザー名Cluster login username クラスターのログイン ユーザー名を入力します。Enter the cluster login username. 既定の名前は adminです。クイック スタートの後半で、このアカウントを使って Jupyter Notebook にログインします。The default name is admin. You use this account to login in to the Jupyter notebook later in the quickstart.
    クラスター ログイン パスワードCluster login password クラスターのログイン パスワードを入力します。Enter the cluster login password.
    Secure Shell (SSH) ユーザー名Secure Shell (SSH) username SSH ユーザー名を入力します。Enter the SSH username. このクイック スタートで使う SSH ユーザー名は sshuser です。The SSH username used for this quickstart is sshuser. 既定では、このアカウントは "クラスター ログイン ユーザー名" アカウントと同じパスワードを共有します。By default, this account shares the same password as the Cluster Login username account.

    HDInsight Spark クラスターの作成の基本構成Create HDInsight Spark cluster basic configurations

    [次へ:ストレージ >>] を選択して [ストレージ] ページに進みます。Select Next: Storage >> to continue to the Storage page.

  3. [ストレージ] で次の値を指定します。Under Storage, provide the following values:

    プロパティProperty 説明Description
    プライマリ ストレージの種類Primary storage type 既定値の [Azure Storage] を使用します。Use the default value Azure Storage.
    メソッドの選択Selection method 既定値の [一覧から選択する] を使用します。Use the default value Select from list.
    プライマリ ストレージ アカウントPrimary storage account 自動入力されている値を使用します。Use the auto-populated value.
    コンテナーContainer 自動入力されている値を使用します。Use the auto-populated value.

    HDInsight Spark クラスターの作成の基本構成Create HDInsight Spark cluster basic configurations

    [Review + create](確認と作成) を選択して続行します。Select Review + create to continue.

  4. [Review + create](確認と作成) を選択し、 [作成] を選択します。Under Review + create, select Create. クラスターの作成には約 20 分かかります。It takes about 20 minutes to create the cluster. 次のセッションに進む前に、クラスターを作成する必要があります。The cluster must be created before you can proceed to the next session.

HDInsight クラスターを作成する際に問題が発生した場合は、適切なアクセス許可がない可能性があります。If you run into an issue with creating HDInsight clusters, it could be that you do not have the right permissions to do so. 詳細については、「アクセス制御の要件」を参照してください。For more information, see Access control requirements.

Jupyter Notebook の作成Create a Jupyter notebook

Jupyter Notebook は、さまざまなプログラミング言語をサポートする対話型のノートブック環境です。Jupyter Notebook is an interactive notebook environment that supports various programming languages. ノートブックを使うと、データと対話し、Markdown テキストとコードを組み合わせて、簡単な視覚化を実行できます。The notebook allows you to interact with your data, combine code with markdown text and perform simple visualizations.

  1. Azure Portalを開きます。Open the Azure portal.

  2. [HDInsight クラスター] を選び、作成したクラスターを選びます。Select HDInsight clusters, and then select the cluster you created.

    Azure portal で HDInsight クラスターを開く

  3. ポータルで [クラスター ダッシュボード] を選び、 [Jupyter Notebook] を選びます。From the portal, select Cluster dashboards, and then select Jupyter Notebook. 入力を求められたら、クラスターのログイン資格情報を入力します。If prompted, enter the cluster login credentials for the cluster.

    Jupyter Notebook を開いて対話型の Spark SQL クエリを実行するOpen Jupyter Notebook to run interactive Spark SQL query

  4. [新規] > [PySpark] を選んで、ノートブックを作成します。Select New > PySpark to create a notebook.

    Jupyter Notebook を作成して対話型の Spark SQL クエリを実行するCreate a Jupyter Notebook to run interactive Spark SQL query

    Untitled(Untitled.pynb) という名前の新しい Notebook が作成されて開かれます。A new notebook is created and opened with the name Untitled(Untitled.pynb).

Spark SQL ステートメントを実行するRun Spark SQL statements

SQL (構造化照会言語) は、データ照会とデータ定義のための言語として最も一般的かつ広く使用されています。SQL (Structured Query Language) is the most common and widely used language for querying and defining data. Spark SQL を Apache Spark の拡張機能として導入することで、使い慣れた SQL 構文を使って構造化データを扱うことができます。Spark SQL functions as an extension to Apache Spark for processing structured data, using the familiar SQL syntax.

  1. カーネルの準備ができていることを確認します。Verify the kernel is ready. Notebook のカーネル名の横に白丸が表示されたら、カーネルの準備ができています。The kernel is ready when you see a hollow circle next to the kernel name in the notebook. 黒丸は、カーネルがビジー状態であることを示します。Solid circle denotes that the kernel is busy.

    HDInsight Spark1 での Apache Hive クエリApache Hive query in HDInsight Spark1

    Notebook を初めて起動すると、カーネルがバックグラウンドでいくつかのタスクを実行します。When you start the notebook for the first time, the kernel performs some tasks in the background. カーネルの準備ができるまで待ちます。Wait for the kernel to be ready.

  2. 次のコードを空のセルに貼り付け、Shift + Enter キーを押してコードを実行します。Paste the following code in an empty cell, and then press SHIFT + ENTER to run the code. コマンドを実行すると、クラスター上の Hive テーブルが一覧表示されます。The command lists the Hive tables on the cluster:

    %%sql
    SHOW TABLES
    

    HDInsight Spark クラスターで Jupyter Notebook を使用すると、Spark SQL を使用して Hive クエリを実行するために使用できるプリセット sqlContext が手に入ります。When you use a Jupyter Notebook with your HDInsight Spark cluster, you get a preset sqlContext that you can use to run Hive queries using Spark SQL. %%sql により、プリセット sqlContext を使用して Hive クエリを実行するよう Jupyter Notebook に指示します。%%sql tells Jupyter Notebook to use the preset sqlContext to run the Hive query. クエリは、すべての HDInsight クラスターに既定で付属する Hive テーブル (hivesampletable) から先頭の 10 行を取得します。The query retrieves the top 10 rows from a Hive table (hivesampletable) that comes with all HDInsight clusters by default. 結果が得られるまで約 30 秒かかります。It takes about 30 seconds to get the results. 出力は次のようになります。The output looks like:

    HDInsight Spark2 での Apache Hive クエリApache Hive query in HDInsight Spark2

    Jupyter でクエリを実行するたびに、Web ブラウザー ウィンドウのタイトルに [(ビジー)] ステータスと Notebook のタイトルが表示されます。Every time you run a query in Jupyter, your web browser window title shows a (Busy) status along with the notebook title. また、右上隅にある PySpark というテキストの横に塗りつぶされた円も表示されます。You also see a solid circle next to the PySpark text in the top-right corner.

  3. 別のクエリを実行して、hivesampletable のデータを確認します。Run another query to see the data in hivesampletable.

    %%sql
    SELECT * FROM hivesampletable LIMIT 10
    

    画面が更新され、クエリ出力が表示されます。The screen shall refresh to show the query output.

    HDInsight Spark での Hive クエリの出力Hive query output in HDInsight Spark

  4. ノートブックの [File](ファイル) メニューの [Close and Halt](閉じて停止) を選びます。From the File menu on the notebook, select Close and Halt. Notebook をシャットダウンすると、クラスターのリソースが解放されます。Shutting down the notebook releases the cluster resources.

リソースのクリーンアップClean up resources

HDInsight はデータを Azure Storage または Azure Data Lake Storage に格納するので、クラスターが使われていないときは、クラスターを安全に削除できます。HDInsight saves your data in Azure Storage or Azure Data Lake Storage, so you can safely delete a cluster when it is not in use. また、HDInsight クラスターは、使用していない場合でも課金されます。You are also charged for an HDInsight cluster, even when it is not in use. クラスターの料金は Storage の料金の何倍にもなるため、クラスターを使用しない場合は削除するのが経済的にも合理的です。Since the charges for the cluster are many times more than the charges for storage, it makes economic sense to delete clusters when they are not in use. 次のステップ」で示されているチュートリアルにすぐに取り掛かる場合は、クラスターをそのままにしてもかまいません。If you plan to work on the tutorial listed in Next steps immediately, you might want to keep the cluster.

Azure portal に戻り、 [削除] を選びます。Switch back to the Azure portal, and select Delete.

Azure portal で HDInsight クラスターを削除するAzure portal delete an HDInsight cluster

リソース グループ名を選び、リソース グループ ページを開いて、 [リソース グループの削除] を選ぶこともできます。You can also select the resource group name to open the resource group page, and then select Delete resource group. リソース グループを削除すると、HDInsight Spark クラスターと既定のストレージ アカウントの両方が削除されます。By deleting the resource group, you delete both the HDInsight Spark cluster, and the default storage account.

次の手順Next steps

このクイックスタートでは、HDInsight Spark クラスターを作成し、基本的な Spark SQL クエリを実行する方法を学習しました。In this quickstart, you learned how to create an HDInsight Spark cluster and run a basic Spark SQL query. HDInsight Spark クラスターを使用してサンプル データに対話型のクエリを実行する方法については、次のチュートリアルに進みます。Advance to the next tutorial to learn how to use an HDInsight Spark cluster to run interactive queries on sample data.