Partager via


Démarrage rapide : Interroger Apache HBase dans Azure HDInsight avec Apache Phoenix

Dans ce guide de démarrage rapide, vous allez apprendre à utiliser Apache Phoenix pour exécuter des requêtes HBase dans Azure HDInsight. Apache Phoenix est un moteur de requête SQL pour Apache HBase. Il est accessible en tant que pilote JDBC et permet d’interroger et de gérer des tables HBase à l’aide de SQL. SQLLine est un utilitaire de ligne de commande pour exécuter SQL.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Prerequisites

Identifier un nœud ZooKeeper

Lorsque vous vous connectez à un cluster HBase, vous devez vous connecter à l’un des nœuds Apache ZooKeeper. Chaque cluster HDInsight a trois nœuds ZooKeeper. Curl peut être utilisé pour identifier rapidement un nœud ZooKeeper. Modifiez la commande curl ci-dessous en remplaçant PASSWORD et CLUSTERNAME par les valeurs appropriées, puis entrez la commande dans une invite de commande.

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

Une partie de la sortie ressemble à ce qui suit :

    {
      "href" : "http://hn*.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net:8080/api/v1/clusters/myCluster/hosts/<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net/host_components/ZOOKEEPER_SERVER",
      "HostRoles" : {
        "cluster_name" : "myCluster",
        "component_name" : "ZOOKEEPER_SERVER",
        "host_name" : "<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net"
      }

Notez la valeur de host_name pour plus tard.

Créer une table et manipuler des données

Vous pouvez utiliser SSH pour vous connecter à des clusters HBase, puis utiliser Apache Phoenix pour créer des tables HBase, insérer des données et interroger des données.

  1. Utilisez ssh la commande pour vous connecter à votre cluster HBase. Modifiez la commande ci-dessous en remplaçant CLUSTERNAME par le nom de votre cluster, puis entrez la commande :

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. Remplacez le répertoire par le client Phoenix. Entrez la commande suivante :

    cd /usr/hdp/current/phoenix-client/bin
    
  3. Lancez SQLLine. Modifiez la commande ci-dessous en remplaçant ZOOKEEPER par le nœud ZooKeeper identifié précédemment, puis entrez la commande :

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. Créez une table HBase. Entrez la commande suivante :

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. Utilisez la commande SQLLine !tables pour répertorier toutes les tables dans HBase. Entrez la commande suivante :

    !tables
    
  6. Insérez des valeurs dans le tableau. Entrez la commande suivante :

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Requêtez la table de données. Entrez la commande suivante :

    SELECT * FROM Company;
    
  8. Supprimer un enregistrement. Entrez la commande suivante :

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. Déposer la table. Entrez la commande suivante :

    DROP TABLE Company;
    
  10. Utilisez la commande SQLLine !quit pour quitter SQLLine. Entrez la commande suivante :

    !quit
    

Nettoyer les ressources

Après avoir suivi ce guide de démarrage rapide, vous souhaiterez peut-être supprimer le cluster. Avec HDInsight, vos données sont stockées dans stockage Azure. Vous pouvez donc supprimer en toute sécurité un cluster lorsqu’il n’est pas utilisé. Vous êtes également facturé pour un cluster HDInsight, même s’il n’est pas utilisé. Étant donné que les frais pour le cluster sont plusieurs fois plus nombreux que les frais de stockage, il est économique de supprimer des clusters lorsqu’ils ne sont pas utilisés.

Pour supprimer un cluster, consultez Supprimer un cluster HDInsight à l’aide de votre navigateur, de PowerShell ou d’Azure CLI.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez appris à utiliser Apache Phoenix pour exécuter des requêtes HBase dans Azure HDInsight. Pour en savoir plus sur Apache Phoenix, l’article suivant fournit un examen plus approfondi.