クイック スタート:Apache Phoenix を使用して Azure HDInsight で Apache HBase にクエリを実行するQuickstart: Query Apache HBase in Azure HDInsight with Apache Phoenix

このクイック スタートでは、Apache Phoenix を使用して Azure HDInsight で HBase クエリを実行する方法を学習します。In this quickstart, you learn how to use the Apache Phoenix to run HBase queries in Azure HDInsight. Apache Phoenix は、Apache HBase 用の SQL クエリ エンジンです。Apache Phoenix is a SQL query engine for Apache HBase. SQL を使用して HBase テーブルの照会と管理ができます。It is accessed as a JDBC driver, and it enables querying and managing HBase tables by using SQL. SQLLine は、SQL を実行するためのコマンド ライン ユーティリティです。SQLLine is a command-line utility to execute SQL.

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

前提条件Prerequisites

ZooKeeper ノードを識別するIdentify a ZooKeeper node

HBase クラスターに接続する場合は、いずれかの Apache ZooKeeper ノードに接続する必要があります。When you connect to an HBase cluster, you need to connect to one of the Apache ZooKeeper nodes. 各 HDInsight クラスターには 3 つの ZooKeeper ノードがあります。Each HDInsight cluster has three ZooKeeper nodes. Curl を使用すると、ZooKeeper ノードをすばやく識別できます。Curl can be used to quickly identify a ZooKeeper node. 次の curl コマンドを編集して PASSWORDCLUSTERNAME を関連する値に置き換えてから、そのコマンドをコマンド プロンプトに入力します。Edit the curl command below by replacing PASSWORD and CLUSTERNAME with the relevant values, and then enter the command in a command prompt:

curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER

出力の一部は次のようになります。A portion of the output will look similar to:

    {
      "href" : "http://hn1-brim.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net:8080/api/v1/clusters/myCluster/hosts/zk0-brim.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net/host_components/ZOOKEEPER_SERVER",
      "HostRoles" : {
        "cluster_name" : "myCluster",
        "component_name" : "ZOOKEEPER_SERVER",
        "host_name" : "zk0-brim.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net"
      }

host_name の値を後で使用するためにメモしておきます。Take note of the value for host_name for later use.

テーブルを作成してデータを操作するCreate a table and manipulate data

SSH を使用して HBase クラスターに接続した後、Apache Phoenix を使用して HBase テーブルを作成したり、データを挿入したり、データにクエリを実行したりすることができます。You can use SSH to connect to HBase clusters, and then use Apache Phoenix to create HBase tables, insert data, and query data.

  1. ssh コマンドを使用して HBase クラスターに接続します。Use ssh command to connect to your HBase cluster. 次のコマンドを編集して CLUSTERNAME をクラスターの名前に置き換えてから、そのコマンドを入力します。Edit the command below by replacing CLUSTERNAME with the name of your cluster, and then enter the command:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. ディレクトリを Phoenix クライアントに変更します。Change directory to the Phoenix client. 次のコマンドを入力します。Enter the following command:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. SQLLine を起動します。Launch SQLLine. 次のコマンドを編集して ZOOKEEPER を前に識別された ZooKeeper ノードに置き換えてから、そのコマンドを入力します。Edit the command below by replacing ZOOKEEPER with the ZooKeeper node identified earlier, then enter the command:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. HBase テーブルを作成します。Create an HBase table. 次のコマンドを入力します。Enter the following command:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. SQLLine の !tables コマンドを使用して HBase 内のすべてのテーブルを一覧表示します。Use the SQLLine !tables command to list all tables in HBase. 次のコマンドを入力します。Enter the following command:

    !tables
    
  6. テーブルに値を挿入します。Insert values in the table. 次のコマンドを入力します。Enter the following command:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. テーブルにクエリを実行します。Query the table. 次のコマンドを入力します。Enter the following command:

    SELECT * FROM Company;
    
  8. レコードを削除します。Delete a record. 次のコマンドを入力します。Enter the following command:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. テーブルを削除します。Drop the table. 次のコマンドを入力します。Enter the following command:

    DROP TABLE Company;
    
  10. SQLLine の !quit コマンドを使用して SQLLine を終了します。Use the SQLLine !quit command to exit SQLLine. 次のコマンドを入力します。Enter the following command:

    !quit
    

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

このクイックスタートを完了したら、必要に応じてクラスターを削除できます。After you complete the quickstart, 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.

クラスターを削除するには、「ブラウザー、PowerShell、または Azure CLI を使用して HDInsight クラスターを削除する」を参照してください。To delete a cluster, see Delete an HDInsight cluster using your browser, PowerShell, or the Azure CLI.

次の手順Next steps

このクイック スタートでは、Apache Phoenix を使用して Azure HDInsight で HBase クエリを実行する方法を学習しました。In this quickstart, you learned how to use the Apache Phoenix to run HBase queries in Azure HDInsight. Apache Phoenix の詳細を学習するには、次の記事にさらに詳しい説明が含まれています。To learn more about Apache Phoenix, the next article will provide a deeper examination.