Snabbstart: Fråga Apache HBase i Azure HDInsight med Apache Phoenix
I den här snabbstarten lär du dig hur du använder Apache Phoenix för att köra HBase-frågor i Azure HDInsight. Apache Phoenix är en SQL-frågemotor för Apache HBase. Den används som en JDBC-drivrutin, och gör att du kan ställa frågor och hantera HBase-tabeller med SQL. SQLLine är ett kommandoradsverktyg för att köra SQL.
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Förutsättningar
Ett Apache HBase-kluster. Se Skapa kluster för att skapa ett HDInsight-kluster. Se till att du väljer typ av HBase-kluster.
En SSH-klient. Mer information finns i Ansluta till HDInsight (Apache Hadoop) med hjälp av SSH.
Identifiera en ZooKeeper-nod
När du ansluter till ett HBase-kluster måste du ansluta till en av Apache ZooKeeper noderna. Varje HDInsight-kluster har tre ZooKeeper-noder. Curl kan användas för att snabbt identifiera en ZooKeeper-nod. Redigera curl-kommandot nedan genom att PASSWORD ersätta och med relevanta värden och ange sedan kommandot i en CLUSTERNAME kommandotolk:
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
En del av utdata ser ut ungefär så här:
{
"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"
}
Anteckna värdet för host_name senare användning.
Skapa en tabell och ändra data
Du kan använda SSH för att ansluta till HBase-kluster och sedan använda Apache Phoenix för att skapa HBase-tabeller, infoga data och fråga efter data.
Använd
sshkommandot för att ansluta till ditt HBase-kluster. Redigera kommandot nedan genom attCLUSTERNAMEersätta med namnet på klustret och ange sedan kommandot:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.netÄndra katalogen till Phoenix-klienten. Ange följande kommando:
cd /usr/hdp/current/phoenix-client/binStarta SQLLine. Redigera kommandot nedan genom att ersätta med
ZOOKEEPERZooKeeper-noden som identifierades tidigare och ange sedan kommandot:./sqlline.py ZOOKEEPER:2181:/hbase-unsecureSkapa en HBase-tabell. Ange följande kommando:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));Använd kommandot SQLLine
!tablesför att visa en lista över alla tabeller i HBase. Ange följande kommando:!tablesInfoga värden i tabellen. Ange följande kommando:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');Fråga tabellen. Ange följande kommando:
SELECT * FROM Company;Ta bort en post. Ange följande kommando:
DELETE FROM Company WHERE COMPANY_ID=1;Ta bort tabellen. Ange följande kommando:
DROP TABLE Company;Använd kommandot SQLLine
!quitför att avsluta SQLLine. Ange följande kommando:!quit
Rensa resurser
När du har slutfört snabbstarten kanske du vill ta bort klustret. Med HDInsight lagras dina data i Azure Storage så att du på ett säkert sätt kan ta bort ett kluster när det inte används. Du debiteras också för ett HDInsight-kluster, även när det inte används. Eftersom avgifterna för klustret är flera gånger större än avgifterna för lagring är det ekonomiskt sett bra att ta bort kluster när de inte används.
Information om hur du tar bort ett kluster finns i Ta bort ett HDInsight-kluster med hjälp av webbläsaren, PowerShell eller Azure CLI.
Nästa steg
I den här snabbstarten har du lärt dig hur du använder Apache Phoenix för att köra HBase-frågor i Azure HDInsight. Om du vill veta Apache Phoenix här artikeln får du en djupare undersökning i nästa artikel.