HDInsight 上の Apache Hadoop で Apache Ambari Hive ビューを使用するUse Apache Ambari Hive View with Apache Hadoop in HDInsight

Ambari Hive ビューを使用して Hive クエリを実行する方法について説明します。Learn how to run Hive queries by using Apache Ambari Hive View. Hive ビューを使用すると、Web ブラウザーからHive クエリを作成、最適化、および実行できます。The Hive View allows you to author, optimize, and run Hive queries from your web browser.

前提条件Prerequisites

Hive クエリを実行するRun a Hive query

  1. Azure portal でご自身のクラスターを選択します。From the Azure portal, select your cluster. 手順については、「クラスターの一覧と表示」を参照してください。See List and show clusters for instructions. クラスターは新しいポータル ブレードで開きます。The cluster is opened in a new portal blade.

  2. クラスター ダッシュボード[Ambari ビュー] を選択します。From Cluster dashboards, select Ambari views. 認証情報の入力を求められたら、クラスターの作成時に使用したクラスター ログイン (既定値は admin) アカウント名とパスワードを入力します。When prompted to authenticate, use the cluster login (default admin) account name and password that you provided when you created the cluster. または、ブラウザーで https://CLUSTERNAME.azurehdinsight.net/#/main/views に移動します。ここで、CLUSTERNAME はクラスターの名前です。Alternatively, navigate to https://CLUSTERNAME.azurehdinsight.net/#/main/views in your browser where CLUSTERNAME is the name of your cluster.

  3. ビューの一覧で、Hive ビュー を選択します。From the list of views, select Hive View.

    Apache Ambari の Apache Hive ビューの選択

    Hive ビュー ページは次の図のようになります。The Hive view page is similar to the following image:

    Hive ビューのクエリ ワークシートの画像

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

    DROP TABLE log4jLogs;
    CREATE EXTERNAL TABLE log4jLogs(
        t1 string,
        t2 string,
        t3 string,
        t4 string,
        t5 string,
        t6 string,
        t7 string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
    STORED AS TEXTFILE LOCATION '/example/data/';
    SELECT t4 AS loglevel, COUNT(*) AS count FROM log4jLogs
        WHERE t4 = '[ERROR]'
        GROUP BY t4;
    

    これらのステートメントは次のアクションを実行します。These statements perform the following actions:

    • DROP TABLE:テーブルが既に存在する場合は、テーブルとデータ ファイルを削除します。DROP TABLE: Deletes the table and the data file, in case the table already exists.

    • CREATE EXTERNAL TABLE:新しい "外部" テーブルを Hive に作成します。CREATE EXTERNAL TABLE: Creates a new "external" table in Hive. 外部テーブルは Hive にテーブル定義のみを格納します。External tables store only the table definition in Hive. データは元の場所に残されます。The data is left in the original location.

    • ROW FORMAT:データがどのように書式設定されているかを示します。ROW FORMAT: Shows how the data is formatted. ここでは、各ログのフィールドは、スペースで区切られています。In this case, the fields in each log are separated by a space.

    • STORED AS TEXTFILE LOCATION:データが保存されている場所、およびデータがテキストとして保存されていることを示します。STORED AS TEXTFILE LOCATION: Shows where the data is stored, and that it's stored as text.

    • SELECT:t4 列の値が [ERROR] であるすべての行の数を選択します。SELECT: Selects a count of all rows where column t4 contains the value [ERROR].

    重要

    [Database](データベース) では、 [default](既定) が選択されたままにしておきます。Leave the Database selection at default. このドキュメントの例では、HDInsight に含まれている既定のデータベースを使用します。The examples in this document use the default database included with HDInsight.

  5. クエリを開始するには、ワークシートの下にある [実行] を選択します。To start the query, select Execute below the worksheet. ボタンがオレンジ色になり、テキストが [Stop](停止) に変わります。The button turns orange and the text changes to Stop.

  6. クエリが完了すると、 [Results](結果) タブに操作の結果が表示されます。After the query has finished, the Results tab displays the results of the operation. 次のテキストは、クエリの結果を示します。The following text is the result of the query:

     loglevel       count
     [ERROR]        3
    

    [ログ] タブを使用すると、ジョブによって作成されたログ情報を表示できます。You can use the LOG tab to view the logging information that the job created.

    ヒント

    [結果] タブの [アクション] ドロップダウン ダイアログ ボックスから結果をダウンロードするか保存します。Download or save results from the Actions drop-down dialog box under the Results tab.

ビジュアルの説明Visual explain

クエリ プランの視覚化を表示するために、ワークシートの下にある [Visual Explain](ビジュアルの説明) タブを選択します。To display a visualization of the query plan, select the Visual Explain tab below the worksheet.

クエリの [Visual Explain] ビューは、複雑なクエリのフローを理解する際に役立ちます。The Visual Explain view of the query can be helpful in understanding the flow of complex queries.

Tez UITez UI

クエリの Tez UI を表示するには、ワークシートの下にある [Tez UI] タブを選択します。To display the Tez UI for the query, select the Tez UI tab below the worksheet.

重要

Tez を使用してもすべてのクエリが解決するとは限りません。Tez is not used to resolve all queries. 多くのクエリは、Tez を使用することなく解決できます。You can resolve many queries without using Tez.

ジョブ履歴の表示View job history

[Jobs](ジョブ) タブには、Hive クエリの履歴が表示されます。The Jobs tab displays a history of Hive queries.

Apache Hive の [ジョブ] タブの履歴の表示

データベース テーブルDatabase tables

[Tables](テーブル) タブを使用して、Hive データベース内のテーブルを操作できます。You can use the Tables tab to work with tables within a Hive database.

Apache Hive の [テーブル] タブの画像

保存済みのクエリSaved queries

[Query](クエリ) タブでは、必要に応じてクエリを保存できます。From the Query tab, you can optionally save queries. クエリを保存すると、 [Saved Queries](保存済みクエリ) タブでそのクエリを再利用できます。After you save a query, you can reuse it from the Saved Queries tab.

Apache Hive の [保存済みクエリ] タブの表示

ヒント

保存済みのクエリは、既定のクラスター記憶域に格納されます。Saved queries are stored in the default cluster storage. 保存済みのクエリは、パス /user/<username>/hive/scripts の下にあります。You can find the saved queries under the path /user/<username>/hive/scripts. これらはプレーンテキストの .hql ファイルとして格納されます。These are stored as plain-text .hql files.

クラスターを削除して、記憶域は保持した場合、Azure Storage Explorer や Data Lake Storage Explorer などのユーティリティを (Azure Portal から) 使用してクエリを取得することができます。If you delete the cluster, but keep the storage, you can use a utility like Azure Storage Explorer or Data Lake Storage Explorer (from the Azure Portal) to retrieve the queries.

ユーザー定義関数User-defined functions

ユーザー定義関数 (UDF) を使用して、Hive を拡張できます。You can extend Hive through user-defined functions (UDF). UDF を使用すると、HiveQL では簡単にモデル化できない機能またはロジックを実装できます。Use a UDF to implement functionality or logic that isn't easily modeled in HiveQL.

Hive ビューの上部にある [UDF] タブを使用して、UDF のセットを宣言および保存します。Declare and save a set of UDFs by using the UDF tab at the top of the Hive View. これらの UDF はクエリ エディターで使用できます。These UDFs can be used with the Query Editor.

Apache Hive の [UDF] タブの表示

Hive ビューに UDF を追加すると、 [Insert udfs](UDF の挿入) ボタンがクエリ エディターの下部に表示されます。After you've added a UDF to the Hive View, an Insert udfs button appears at the bottom of the Query Editor. このエントリを選択すると、Hive ビューで定義した UDF のドロップダウン リストが表示されます。Selecting this entry displays a drop-down list of the UDFs defined in the Hive View. UDF を選択すると、HiveQL ステートメントがクエリに追加され、UDF が有効になります。Selecting a UDF adds HiveQL statements to your query to enable the UDF.

たとえば、以下のプロパティで UDF を定義したとします。For example, if you've defined a UDF with the following properties:

  • リソース名: myudfsResource name: myudfs

  • リソースのパス: /myudfs.jarResource path: /myudfs.jar

  • UDF 名: myawesomeudfUDF name: myawesomeudf

  • UDF のクラス名: com.myudfs.AwesomeUDF class name: com.myudfs.Awesome

[Insert udfs](UDF の挿入) ボタンを使用すると、myudfs という名前のエントリと、そのリソースに定義されている UDF ごとにドロップダウン リストが表示されます。Using the Insert udfs button displays an entry named myudfs, with another drop-down list for each UDF defined for that resource. この場合は、myawesomeudf が表示されます。In this case, it's myawesomeudf. このエントリを選択すると、クエリの先頭に次の内容が追加されます。Selecting this entry adds the following to the beginning of the query:

add jar /myudfs.jar;
create temporary function myawesomeudf as 'com.myudfs.Awesome';

これにより、クエリでこの UDF を使用できます。You can then use the UDF in your query. たとえば、「 SELECT myawesomeudf(name) FROM people; 」のように入力します。For example, SELECT myawesomeudf(name) FROM people;.

HDInsight において Hive で UDF を使用する方法の詳細については、以下の記事を参照してください。For more information on using UDFs with Hive on HDInsight, see the following articles:

Hive の設定Hive settings

Hive の実行エンジンを Tez (既定値) から MapReduce に変更するなど、さまざまな Hive 設定を変更できます。You can change various Hive settings, such as changing the execution engine for Hive from Tez (the default) to MapReduce.

次のステップNext steps

HDInsight での Hive に関する全般的な情報For general information on Hive on HDInsight:

HDInsight での Hadoop のその他の使用方法に関する情報For information on other ways you can work with Hadoop on HDInsight: