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
Un cluster Apache HBase. Consultez Créer un cluster pour créer un cluster HDInsight. Veillez à choisir le type de cluster HBase.
Un client SSH. Pour plus d’informations, consultez Se connecter à HDInsight (Apache Hadoop) à l’aide de SSH.
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.
Utilisez la commande
ssh
pour vous connecter à votre cluster HBase. Modifiez la commande ci-dessous en remplaçantCLUSTERNAME
par le nom de votre cluster, puis entrez la commande :ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Remplacez le répertoire par le client Phoenix. Entrez la commande suivante :
cd /usr/hdp/current/phoenix-client/bin
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
Créez une table HBase. Entrez la commande suivante :
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
Utiliser la commande SQLLine
!tables
pour répertorier toutes les tables contenues dans HBase. Entrez la commande suivante :!tables
Insérer les valeurs dans le tableau. Entrez la commande suivante :
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');
Interroger la table. Entrez la commande suivante :
SELECT * FROM Company;
Supprimer un enregistrement. Entrez la commande suivante :
DELETE FROM Company WHERE COMPANY_ID=1;
Déposer la table. Entrez la commande suivante :
DROP TABLE Company;
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.