Snelstart: Query Apache HBase in Azure HDInsight met Apache Phoenix
In deze quickstart leert u hoe u Apache Phoenix kunt gebruiken om HBase-query's uit te voeren in Azure HDInsight. Apache Phoenix is a SQL-query-engine voor Apache HBase. Deze is toegankelijk als een JDBC-stuurprogramma en maakt het uitvoeren van query's en beheren van HBase-tabellen SQL mogelijk. SQLLine is een opdrachtregelprogramma voor het uitvoeren van SQL.
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Vereisten
Een Apache HBase-cluster. Raadpleeg Cluster maken voor het maken van een HDInsight-cluster. Zorg ervoor dat u het clustertype HBase kiest.
Een SSH-client. Zie voor meer informatie Verbinding maken met HDInsight (Apache Hadoop) via SSH.
Een ZooKeeper-knooppunt identificeren
Wanneer u verbinding maakt met een HBase-cluster, moet u verbinding maken met een van de Apache ZooKeeper-knooppunten. Elk HDInsight-cluster heeft drie ZooKeeper-knooppunten. cURL kan worden gebruikt om snel een ZooKeeper-knooppunt te identificeren. Bewerk de onderstaande cURL-opdracht door PASSWORD
en CLUSTERNAME
te vervangen door de relevante waarden, en voer vervolgens deze opdracht uit in een opdrachtprompt:
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
Een deel van de uitvoer ziet er ongeveer als volgt uit:
{
"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"
}
Noteer de waarde van host_name
voor later gebruik.
Een tabel maken en gegevens bewerken
U kunt SSH gebruiken om verbinding te maken met HBase-clusters en vervolgens Apache Phoenix gebruiken om HBase-tabellen te maken, gegevens in te voegen, en gegevens te doorzoeken.
Gebruik de opdracht
ssh
om verbinding te maken met uw HBase-cluster. Bewerk de onderstaande opdracht doorCLUSTERNAME
te vervangen door de naam van uw cluster.Voer vervolgens deze opdracht in:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Wijzig de map in de map van de Phoenix-client. Voer de volgende opdracht in:
cd /usr/hdp/current/phoenix-client/bin
Start SQLLine. Bewerk de onderstaande opdracht door
ZOOKEEPER
te vervangen door het eerder geïdentificeerde ZooKeeper-knooppunt. Voer vervolgens deze opdracht in:./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
Maak een HBase-tabel. Voer de volgende opdracht in:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
Gebruik de SQLLine-opdracht
!tables
om alle tabellen in HBase weer te geven. Voer de volgende opdracht in:!tables
Voeg waarden in de tabel in. Voer de volgende opdracht in:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');
Voer een query op de tabel uit. Voer de volgende opdracht in:
SELECT * FROM Company;
Verwijder een record. Voer de volgende opdracht in:
DELETE FROM Company WHERE COMPANY_ID=1;
Verwijder de tabel. Voer de volgende opdracht in:
DROP TABLE Company;
Gebruik de SQLLine-opdracht
!quit
om SQLLine af te sluiten. Voer de volgende opdracht in:!quit
Resources opschonen
Nadat u de quickstart hebt voltooid, kunt u het cluster verwijderen. Met HDInsight worden uw gegevens opgeslagen in Azure Storage zodat u een cluster veilig kunt verwijderen wanneer deze niet wordt gebruikt. Voor een HDInsight-cluster worden ook kosten in rekening gebracht, zelfs wanneer het niet wordt gebruikt. Aangezien de kosten voor het cluster vaak zoveel hoger zijn dan de kosten voor opslag, is het financieel gezien logischer clusters te verwijderen wanneer ze niet worden gebruikt.
Als u een cluster wilt verwijderen, raadpleegt u HDInsight-cluster verwijderen met behulp van uw browser, PowerShell of de Azure CLI.
Volgende stappen
In deze quickstart leert u hoe u Apache Phoenix moet gebruiken om HBase-query's uit te voeren in Azure HDInsight. Als u zich verder wilt verdiepen in Apache Phoenix, raadpleegt u het volgende artikel.