Snabbstart: Fråga Apache HBase i Azure HDInsight med Apache Phoenix
I den här snabbstarten får du lära 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 klustertypen HBase .
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 CLUSTERNAME
med relevanta värden och ange sedan kommandot i en 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
ssh
kommandot för att ansluta till ditt HBase-kluster. Redigera kommandot nedan genom attCLUSTERNAME
ersä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/bin
Starta SQLLine. Redigera kommandot nedan genom att
ZOOKEEPER
ersätta med zookeeper-noden som identifierades tidigare och ange sedan kommandot:./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
Skapa en HBase-tabell. Ange följande kommando:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
Använd SQLLine-kommandot
!tables
för att visa alla tabeller i HBase. Ange följande kommando:!tables
Infoga 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;
Släpp tabellen. Ange följande kommando:
DROP TABLE Company;
Använd SQLLine-kommandot
!quit
fö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 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 mer om Apache Phoenix ger nästa artikel en djupare undersökning.