クイック スタート: Resource Manager テンプレートを使用して Azure HDInsight で Hadoop と Hive を使用するQuickstart: Get started with Hadoop and Hive in Azure HDInsight using Resource Manager template

この記事では、Resource Manager テンプレートを使用して HDInsight で Hadoop クラスターを作成し、HDInsight で Hive ジョブを実行する方法について説明します。In this article, you learn how to create Hadoop clusters in HDInsight using a Resource Manager template, and then run Hive jobs in HDInsight. Hadoop ジョブのほとんどはバッチ ジョブです。Most of Hadoop jobs are batch jobs. クラスターを作成し、いくつかのジョブを実行して、クラスターを削除します。You create a cluster, run some jobs, and then delete the cluster. この記事では、3 つのすべてのタスクを実行します。In this article, you perform all the three tasks.

このクイックスタートでは、Resource Manager テンプレートを使用して HDInsight Hadoop クラスターを作成します。In this quickstart, you use a Resource Manager template to create an HDInsight Hadoop cluster. Azure Portal を使用してクラスターを作成することもできます。You can also create a cluster using the Azure Portal.

現在、HDInsight には 7 種類のクラスターが用意されています。Currently HDInsight comes with seven different cluster types. クラスターの種類はそれぞれ異なるコンポーネント セットをサポートしていますが、Each cluster type supports a different set of components. Hive は全種類のクラスターでサポートされています。All cluster types support Hive. HDInsight でサポートされているコンポーネントの一覧については、「HDInsight で提供される Hadoop クラスター バージョンの新機能」を参照してください。For a list of supported components in HDInsight, see What's new in the Hadoop cluster versions provided by HDInsight?

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

Hadoop クラスターの作成Create a Hadoop cluster

このセクションでは、Azure Resource Manager テンプレートを利用して、HDInsight で Hadoop クラスターを作成します。In this section, you create a Hadoop cluster in HDInsight using an Azure Resource Manager template. この記事に従うために、Resource Manager テンプレートの使用経験は必要ありません。Resource Manager template experience is not required for following this article.

  1. 以下の [Deploy to Azure] (Azure へのデプロイ) ボタンをクリックして Azure にサインインし、Azure Portal で Resource Manager テンプレートを開きます。Click the Deploy to Azure button below to sign in to Azure and open the Resource Manager template in the Azure portal.

    Deploy to Azure

  2. 次のスクリーンショットで提案されているように値を入力するか、選択します。Enter or select the values as suggested in the following screenshot:

    注意

    指定する値は一意である必要があり、名前付けガイドラインに従う必要があります。The values you provide must be unique and should follow the naming guidelines. テンプレートでは、検証チェックは実行されません。The template does not perform validation checks. 指定した値が既に使用されている場合、またはガイドラインに従ってない場合、テンプレートを送信した後にエラーが発生します。If the values you provide are already in use, or do not follow the guidelines, you get an error after you have submitted the template.

    HDInsight Linux の使用。ポータルの Resource Manager テンプレートHDInsight Linux get started Resource Manager template on portal

    次の値を入力または選択します。Enter or select the following values:

    プロパティProperty 説明Description
    サブスクリプションSubscription Azure サブスクリプションを選択します。Select your Azure subscription.
    [リソース グループ]Resource group リソース グループを作成するか、既存のリソース グループを選択します。Create a resource group or select an existing resource group. リソース グループとは、Azure コンポーネントのコンテナーです。A resource group is a container of Azure components. この場合、リソース グループには、HDInsight クラスターおよび依存する Azure ストレージ アカウントが含まれています。In this case, the resource group contains the HDInsight cluster and the dependent Azure Storage account.
    場所Location クラスターを作成する Azure の場所を選択します。Select an Azure location where you want to create your cluster. パフォーマンスを向上させるため、お近くの場所を選択してください。Choose a location closer to you for better performance.
    クラスターの種類Cluster Type [hadoop] を選択します。Select hadoop.
    クラスター名Cluster Name Hadoop クラスターの名前を入力します。Enter a name for the Hadoop cluster. HDInsight のすべてのクラスターでは同じ DNS 名前空間が共有されるため、この名前は一意である必要があります。Because all clusters in HDInsight share the same DNS namespace this name needs to be unique. この名前は、文字、数字、ハイフンを含む最大 59 文字で構成できます。The name can consist of up to 59 characters includings letters, numbers, and hyphens. 名前の先頭と末尾の文字をハイフンにすることはできません。The first and last characters of the name cannot be hyphens.
    クラスター ログイン名とパスワードCluster login name and password 既定のログイン名は admin です。パスワードは 10 文字以上で、数字、大文字、小文字、英数字以外の文字 (' " ` を除く) が少なくとも 1 つずつ含まれる必要があります。The default login name is admin. The password must be at least 10 characters in length and must contain at least one digit, one uppercase, and one lower case letter, one non-alphanumeric character (except characters ' " ` ). "Pass@word1" などのよく使われるパスワードを指定していないことを確認してください。Make sure you do not provide common passwords such as "Pass@word1".
    SSH ユーザー名とパスワードSSH username and password 既定のユーザー名は sshuser です。The default username is sshuser. SSH ユーザー名は、変更が可能です。You can rename the SSH username. SSH ユーザーのパスワードには、クラスターのログイン パスワードと同じ要件が適用されます。The SSH user password has the same requirements as the cluster login password.

    一部のプロパティは、テンプレートにハードコーディングされています。Some properties have been hardcoded in the template. これらの値はテンプレートから構成することができます。You can configure these values from the template. これらのプロパティの詳細については、HDInsight での Hadoop クラスターの作成に関するページを参照してください。For more explanation of these properties, see Create Hadoop clusters in HDInsight.

  3. [上記の使用条件に同意する][ダッシュボードにピン留めする] の順に選択し、[購入] を選択します。Select I agree to the terms and conditions stated above and Pin to dashboard, and then select Purchase. ポータルのダッシュボードに、[デプロイを送信しています] という新しいタイルが表示されます。You shall see a new tile titled Submitting deployment on the portal dashboard. クラスターの作成には約 20 分かかります。It takes about 20 minutes to create a cluster.

    テンプレートのデプロイの進行状況Template deployment progress

  4. クラスターが作成されると、タイルのキャプションが、指定したリソース グループ名に変更されます。Once the cluster is created, the caption of the tile is changed to the resource group name you specified. タイルには、リソース グループ内で作成された HDInsight クラスターも一覧表示されます。The tile also lists the HDInsight cluster that is created within the resource group.

    HDInsight Linux の使用。リソース グループHDInsight Linux get started resource group

  5. タイルには、クラスターに関連付けられている既定のストレージも一覧表示されます。The tile also lists the default storage associated with the cluster. 各クラスターには、Azure ストレージ アカウントまたは Azure Data Lake アカウントとの依存関係があります。Each cluster has an Azure Storage account or an Azure Data Lake account dependency. このアカウントを、既定のストレージ アカウントと呼びます。It is referred as the default storage account. HDInsight クラスターとその既定のストレージ アカウントは、同じ Azure リージョンに配置されている必要があります。HDInsight cluster and its default storage account must be co-located in the same Azure region. クラスターを削除しても、ストレージ アカウントは削除されません。Deleting clusters does not delete the storage account.

注意

その他のクラスター作成方法と、このチュートリアルで使うプロパティの詳細については、HDInsight クラスターの作成に関するページを参照してください。For other cluster creation methods and understanding the properties used in this tutorial, see Create HDInsight clusters.

VS Code を使用して Hive クエリを実行するUse VSCode to run Hive queries

VS Code で HDInsight Tools を入手する方法については、「Azure HDInsight Tool for Visual Studio Code の使用」をご覧ください。How to get HDInsight Tools in VSCode, see Use Azure HDInsight Tools for Visual Studio Code.

Submit interactive Hive queriesSubmit interactive Hive queries

HDInsight Tools for VS Code を使用すると、対話型 Hive クエリを HDInsight 対話型クエリ クラスターに送信できます。With HDInsight Tools for VSCode, you can submit interactive Hive queries to HDInsight interactive query clusters.

  1. 新しい作業フォルダーと新しい Hive スクリプト ファイルを作成します (まだない場合)。Create a new work folder and a new Hive script file if you don't already have them.

  2. Azure アカウントに接続し、既定のクラスターを構成します (まだ構成していない場合)。Connect to your Azure account, and then configure the default cluster if you haven't already done so.

  3. 次のコードをコピーし、Hive ファイルに貼り付けて保存します。Copy and paste the following code into your Hive file, and then save it.

    SELECT * FROM hivesampletable;
    
  4. スクリプト エディターを右クリックし、[HDInsight: Hive Interactive] を選択してクエリを送信します。Right-click the script editor, and then select HDInsight: Hive Interactive to submit the query. また、このツールでは、コンテキスト メニューを使用して、スクリプト ファイル全体ではなく、コードのブロックを送信することもできます。The tools also allow you to submit a block of code instead of the whole script file using the context menu. その後すぐに、クエリの結果が新しいタブに表示されます。Soon after, the query results appear in a new tab.

    対話型 Hive の結果

    • [結果] パネル: 結果全体を CSV、JSON、または Excel ファイルとしてローカル パスに保存したり、複数の行だけを選択したりできます。RESULTS panel: You can save the whole result as CSV, JSON, or Excel file to local path, or just select multiple lines.

    • [メッセージ] パネル: の番号を選択すると、実行中のスクリプトの最初の行にジャンプします。MESSAGES panel: When you select Line number, it jumps to the first line of the running script.

対話型クエリは、Hive バッチ ジョブよりもはるかに短時間で実行されます。Running the interactive query takes much less time than running a Hive batch job.

Hive バッチ スクリプトの送信Submit Hive batch scripts

  1. 新しい作業フォルダーと新しい Hive スクリプト ファイルを作成します (まだない場合)。Create a new work folder and a new Hive script file if you don't already have them.

  2. Azure アカウントに接続し、既定のクラスターを構成します (まだ構成していない場合)。Connect to your Azure account, and then configure the default cluster if you haven't already done so.

  3. 次のコードをコピーし、Hive ファイルに貼り付けて保存します。Copy and paste the following code into your Hive file, and then save it.

    SELECT * FROM hivesampletable;
    
  4. スクリプト エディターを右クリックし、[HDInsight: Hive Batch] を選択して Hive ジョブを送信します。Right-click the script editor, and then select HDInsight: Hive Batch to submit a Hive job.

  5. 送信先のクラスターを選択します。Select the cluster to which you want to submit.

    Hive ジョブを送信したら、送信成功に関する情報とジョブ ID が、[出力] パネルに表示されます。After you submit a Hive job, the submission success info and jobid appears in the OUTPUT panel. また、Hive ジョブによって Web ブラウザーが開かれ、ジョブのリアルタイムのログと状態が表示されます。The Hive job also opens WEB BROWSER, which shows the real-time job logs and status.

    Hive ジョブの結果の送信

対話型 Hive クエリは、バッチ ジョブよりもはるかに短時間で送信されます。Submitting interactive Hive queries takes much less time than submitting a batch job.

Visual Studio を使用して Hive クエリを実行するUse VisualStudio to run Hive queries

Visual Studio で HDInsight Tools を入手する方法については、「Data Lake Tools for Visual Studio の使用」をご覧ください。How to get HDInsight Tools in Visual Studio, see Use Data Lake Tools for Visual Studio.

Hive クエリの実行Run Hive queries

Hive クエリを作成して実行するためのオプションは 2 つあります。You have two options for creating and running Hive queries:

  • アドホック クエリを作成するCreate ad-hoc queries
  • Hive アプリケーションを作成するCreate a Hive application

アドホック クエリを作成して実行するには:To create and run ad-hoc queries:

  1. サーバー エクスプローラーで、[Azure] > [HDInsight クラスター] を選択します。In Server Explorer, select Azure > HDInsight Clusters.

  2. クエリを実行するクラスターを右クリックし、[Hive クエリの作成] を選択します。Right-click the cluster where you want to run the query, and then select Write a Hive Query.

  3. Hive クエリを入力します。Enter the Hive queries.

    Hive エディターは IntelliSense をサポートしています。The Hive editor supports IntelliSense. Data Lake Tools for Visual Studio では、Hive スクリプトの編集時にリモート メタデータの読み込みをサポートします。Data Lake Tools for Visual Studio supports loading remote metadata when you edit your Hive script. たとえば、SELECT * FROM と入力すると、IntelliSense によって提案されるテーブル名が一覧表示されます。For example, if you type SELECT * FROM, IntelliSense lists all the suggested table names. テーブル名を指定すると、Intellisense によって列名が一覧表示されます。When a table name is specified, IntelliSense lists the column names. このツールは、Hive の DML ステートメント、サブクエリ、および組み込みの UDF の大半をサポートします。The tools support most Hive DML statements, subqueries, and built-in UDFs.

    HDInsight Visual Studio Tools での IntelliSense の例 1 のスクリーンショットScreenshot of an HDInsight Visual Studio Tools IntelliSense example 1

    HDInsight Visual Studio Tools での IntelliSense の例 2 のスクリーンショットScreenshot of an HDInsight Visual Studio Tools IntelliSense example 2

    注意

    IntelliSense は、HDInsight のツール バーで選択されているクラスターのメタデータのみを推奨します。IntelliSense suggests only the metadata of the cluster that is selected in the HDInsight toolbar.

  4. [送信] または [Submit (Advanced)](送信 (詳細設定)) を選択します。Select Submit or Submit (Advanced).

    Hive クエリの送信のスクリーンショット

    [Submit (Advanced)](送信 (詳細設定)) オプションを選択した場合は、スクリプトの [ジョブ名][引数][追加の構成][状態ディレクトリ] を構成します。If you select the advanced submit option, configure Job Name, Arguments, Additional Configurations, and Status Directory for the script:

    HDInsight Hadoop の Hive クエリのスクリーンショットScreenshot of an HDInsight Hadoop Hive query

    Interactive Hive クエリを実行するRun Interactive Hive queries

    • 下向き矢印をクリックして、[対話型] を選択します。click on down-arrow to choose interactive.

    • [実行] をクリックします。Click Execute.

    Interactive Hive クエリ実行のスクリーンショット

Hive ソリューションを作成して実行するには:To create and run a Hive solution:

  1. [ファイル] メニューから [新規][プロジェクト] の順に選択します。On the File menu, select New, and then select Project.
  2. 左側のウィンドウで、[HDInsight] を選択します。In the left pane, select HDInsight. 中央のウィンドウで、[Hive アプリケーション] を選択します。In the middle pane, select Hive Application. プロパティを入力し、[OK] を選択します。Enter the properties, and then select OK.

    HDInsight Visual Studio Tools の新しい Hive プロジェクトのスクリーンショットScreenshot of an HDInsight Visual Studio Tools new Hive project

  3. ソリューション エクスプローラーで、Script.hql をダブルクリックしてスクリプトを開きます。In Solution Explorer, double-click Script.hql to open the script.
  4. Hive クエリを入力して送信します。Enter the Hive queries and submit. (上記の手順 3 と 4 を参照)(Refer to the step3&4 above)

Hive クエリの実行Run Hive queries

Apache Hive は、HDInsight で使用される最も一般的なコンポーネントです。Apache Hive is the most popular component used in HDInsight. HDInsight で Hive ジョブを実行する方法は多数存在します。There are many ways to run Hive jobs in HDInsight. このチュートリアルでは、ポータルから Ambari Hive ビューを使用します。In this tutorial, you use the Ambari Hive view from the portal. Hive ジョブを送信する他の方法については、「 HDInsight で Hadoop と共に Hive と HiveQL を使用して Apache log4j サンプル ファイルを分析する」を参照してください。For other methods for submitting Hive jobs, see Use Hive in HDInsight.

  1. Ambari を開くには、前のスクリーンショットから、[クラスター ダッシュボード] を選択します。To open Ambari, from the previous screenshot, select Cluster Dashboard. ブラウザーで https://<クラスター名>.azurehdinsight.net に移動することもできます。<クラスター名> は、前のセクションで作成したクラスターです。You can also browse to https://<ClusterName>.azurehdinsight.net, where <ClusterName> is the cluster you created in the previous section.

    HDInsight Linux の使用。クラスター ダッシュボードHDInsight Linux get started cluster dashboard

  2. クラスターの作成時に指定した Hadoop ユーザー名とパスワードを入力します。Enter the Hadoop username and password that you specified while creating the cluster. 既定のユーザー名は adminです。The default username is admin.

  3. 次のスクリーンショットのように [ハイブ ビュー] を開きます。Open Hive View as shown in the following screenshot:

    Ambari ビューの選択Selecting Ambari views

  4. [QUERY](クエリ) タブで、次の HiveQL ステートメントをワークシートに貼り付けます。In the QUERY tab, paste the following HiveQL statements into the worksheet:

     SHOW TABLES;
    

    HDInsight Hive ビューHDInsight Hive views

    注意

    Hive では、セミコロンが必要です。Semi-colon is required by Hive.

  5. [Execute (実行)] を選択します。Select Execute. [QUERY](クエリ) タブの下に [RESULTS](結果) タブが表示され、ジョブについての情報が表示されます。A RESULTS tab appears beneath the QUERY tab and displays information about the job.

    クエリが完了すると、[QUERY](クエリ) タブに操作の結果が表示されます。Once the query has finished, The QUERY tab displays the results of the operation. hivesampletableという名前のテーブルが 1 つ表示されます。You shall see one table called hivesampletable. このサンプルの Hive テーブルにはすべての HDInsight クラスターが付属します。This sample Hive table comes with all the HDInsight clusters.

    HDInsight Hive ビューHDInsight Hive views

  6. 手順 4. と手順 5 を繰り返し、次のクエリを実行します。Repeat step 4 and step 5 to run the following query:

     SELECT * FROM hivesampletable;
    
  7. クエリの結果を保存することもできます。You can also save the results of the query. 右側のメニュー ボタンを選択し、結果を CSV ファイルとしてダウンロードするか、クラスターに関連付けられているストレージ アカウントに保存するかを指定します。Select the menu button on the right, and specify whether you want to download the results as a CSV file or store it to the storage account associated with the cluster.

    Hive クエリの結果を保存Save result of Hive query

Hive ジョブが完了したら、結果を Azure SQL データベースまたは SQL Server データベースにエクスポートできます。Excel を利用して結果を視覚化することもできます。After you have completed a Hive job, you can export the results to Azure SQL database or SQL Server database, you can also visualize the results using Excel. HDInsight で Hive を使用する方法の詳細については、「HDInsight で Hadoop と共に Hive と HiveQL を使用して Apache log4j サンプル ファイルを分析する」をご覧ください。For more information about using Hive in HDInsight, see Use Hive and HiveQL with Hadoop in HDInsight to analyze a sample Apache log4j file.

トラブルシューティングTroubleshoot

HDInsight クラスターの作成で問題が発生した場合は、「アクセス制御の要件」を参照してください。If you run into issues with creating HDInsight clusters, see access control requirements.

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

記事を完了したら、必要に応じてクラスターを削除できます。After you complete the article, you may want to delete the cluster. HDInsight を使用すると、データは Azure Storage に格納されるため、クラスターは、使用されていない場合に安全に削除できます。With HDInsight, your data is stored in Azure 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.

注意

すぐに次のチュートリアルに進み、HDInsight で Hadoop を使用して ETL 操作を実行する方法を学習する場合は、クラスターを実行したままにしておいてかまいません。If you are immediately proceeding to the next tutorial to learn how to run ETL operations using Hadoop on HDInsight, you may want to keep the cluster running. そのチュートリアルでは Hadoop クラスターを再度作成する必要があるからです。This is becuase in the tutorial you have to create a Hadoop cluster again. ただし、すぐに次のチュートリアルに進まない場合は、クラスターを今すぐ削除する必要があります。However, if you are not going through the next tutorial right away, you must delete the cluster now.

クラスターと既定のストレージ アカウントを削除するには、次の手順に従います。To delete the cluster and/or the default storage account

  1. ブラウザーの Azure Portal を開いているタブに戻ります。Go back to the browser tab where you have the Azure portal. [クラスターの概要] ページが表示されているはずです。You shall be on the cluster overview page. クラスターのみを削除し、既定のストレージ アカウントを保持する場合は、[削除] を選択します。If you only want to delete the cluster but retain the default storage account, select Delete.

    HDInsight におけるクラスターの削除HDInsight delete cluster

  2. クラスターと既定のストレージ アカウントを削除する場合は、(上のスクリーンショットで強調表示されている) リソース グループ名を選択して、リソース グループのページを開きます。If you want to delete the cluster as well as the default storage account, select the resource group name (highlighted in the previous screenshot) to open the resource group page.

  3. [リソース グループの削除] を選択して、クラスターと既定のストレージ アカウントが含まれたリソース グループを削除します。Select Delete resource group to delete the resource group, which contains the cluster and the default storage account. リソース グループを削除するとストレージ アカウントも削除されます。Note deleting the resource group deletes the storage account. ストレージ アカウントを残しておく場合は、クラスターのみを削除してください。If you want to keep the storage account, choose to delete the cluster only.

次の手順Next steps

この記事では、Resource Manager テンプレートを利用して Linux ベースの HDInsight クラスターを作成する方法と基本的な Hive クエリを実行する方法について説明しました。In this article, you learned how to create a Linux-based HDInsight cluster using a Resource Manager template, and how to perform basic Hive queries. 次の記事では、HDInsight で Hadoop を使用して抽出、変換、読み込み (ETL) 操作を実行する方法を学習します。In the next article, you learn how to perform an extract, transform, and load (ETL) operation using Hadoop on HDInsight.

実際のデータを使用する準備が整っていて、HDInsight のデータの格納方法や HDInsight にデータを取り込む方法を確認する場合は、以下の記事を参照してください。If you're ready to start working with your own data and need to know more about how HDInsight stores data or how to get data into HDInsight, see the following articles:

HDInsight でデータを分析する方法の詳細については、次の記事を参照してください。To learn more about analyzing data with HDInsight, see the following articles:

HDInsight クラスターの作成または管理の詳細については、以下の記事を参照してください。If you'd like to learn more about creating or managing an HDInsight cluster, see the following articles: