Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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 det möjligt att köra frågor mot och hantera HBase-tabeller med hjälp av 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 HBase-klustertypen .
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
för 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 katalog till Phoenix-klienten. Ange följande kommando:
cd /usr/hdp/current/phoenix-client/bin
Starta SQLLine. Redigera kommandot nedan genom att ersätta med den ZooKeeper-nod
ZOOKEEPER
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 en lista över 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');
Sök i 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 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 de inte används. Du debiteras också för ett HDInsight-kluster, även om det inte används. Eftersom avgifterna för klustret är många gånger högre än avgifterna för lagring är det ekonomiskt klokt 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.