Démarrage rapide : exécuter des requêtes Apache HBase dans Azure HDInsight avec Apache Phoenix

Lors de ce 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 les tables HBase au moyen 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.

Prérequis

Identifier un nœud ZooKeeper

Quand 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 commandes :

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

Une partie du résultat 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 une utilisation ultérieure.

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, et insérer et interroger des données.

  1. Utilisez la commande ssh 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. Lancer SQLLine. Modifiez la commande ci-dessous en remplaçant ZOOKEEPER 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. Utiliser la commande SQLLine !tables pour répertorier toutes les tables contenues dans HBase. Entrez la commande suivante :

    !tables
    
  6. Insérer les valeurs dans le tableau. Entrez la commande suivante :

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. Interroger la table. 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. Utiliser 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 Azure Storage, pour que vous puissiez supprimer un cluster en toute sécurité s’il n’est pas en cours d’utilisation. Vous devez également payer pour un cluster HDInsight, même lorsque vous ne l’utilisez pas. Étant donné que les frais pour le cluster sont bien plus élevés que les frais de stockage, économique, mieux vaut supprimer les 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

Lors de ce 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 une étude plus approfondie.