Rychlý start: Dotazování Apache HBase ve službě Azure HDInsight pomocí Apache Phoenixu
V tomto rychlém startu se naučíte používat Apache Phoenix ke spouštění dotazů HBase ve službě Azure HDInsight. Apache Phoenix je dotazovací modul SQL pro Apache HBase. Je přístupný jako ovladač JDBC a umožňuje dotazování a správu tabulek HBase pomocí SQL. SQLLine je nástroj příkazového řádku pro spuštění SQL.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Požadavky
Cluster Apache HBase. Informace o vytvoření clusteru HDInsight najdete v tématu Vytvoření clusteru . Ujistěte se, že jste zvolili typ clusteru HBase .
Klient SSH. Další informace najdete v tématu Připojení ke službě HDInsight (Apache Hadoop) pomocí SSH.
Identifikace uzlu ZooKeeperu
Když se připojujete ke clusteru HBase, musíte se připojit k jednomu z uzlů Apache ZooKeeper. Každý cluster HDInsight má tři uzly ZooKeeper. Curl se dá použít k rychlé identifikaci uzlu ZooKeeperu. Upravte níže uvedený příkaz curl tak, že nahraďte PASSWORD
a CLUSTERNAME
příslušnými hodnotami a pak na příkazovém řádku zadejte příkaz:
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
Část výstupu bude vypadat přibližně takto:
{
"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"
}
Poznamenejte si hodnotu pro host_name
pro pozdější použití.
Vytvoření tabulky a manipulace s daty
Pomocí SSH se můžete připojit ke clusterům HBase a pak pomocí Apache Phoenixu vytvářet tabulky HBase, vkládat data a dotazovat se na data.
Pomocí
ssh
příkazu se připojte ke clusteru HBase. Upravte následující příkaz tak, že nahradíteCLUSTERNAME
názvem clusteru a pak zadejte příkaz:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Změňte adresář na klienta Phoenix. Zadejte následující příkaz:
cd /usr/hdp/current/phoenix-client/bin
Spusťte SQLLine. Upravte níže uvedený příkaz tak, že nahradíte
ZOOKEEPER
uzlem ZooKeeper, který jste identifikovali dříve, a pak zadejte příkaz:./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
Vytvořte tabulku HBase. Zadejte následující příkaz:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
Pomocí příkazu SQLLine
!tables
zobrazte seznam všech tabulek v HBase. Zadejte následující příkaz:!tables
Vložte hodnoty do tabulky. Zadejte následující příkaz:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');
Zadejte dotaz na tabulku. Zadejte následující příkaz:
SELECT * FROM Company;
Odstranění záznamu Zadejte následující příkaz:
DELETE FROM Company WHERE COMPANY_ID=1;
Vypusťte tabulku. Zadejte následující příkaz:
DROP TABLE Company;
Pomocí příkazu SQLLine
!quit
ukončete sqlLine. Zadejte následující příkaz:!quit
Vyčištění prostředků
Po dokončení tohoto rychlého startu můžete cluster odstranit. Pomocí HDInsight jsou vaše data uložena v Azure Storage, takže můžete clusteru bezpečně odstranit, pokud není používán. Za cluster služby HDInsight se účtují poplatky, i když se nepoužívá. Vzhledem k tomu, že poplatky za cluster představují několikanásobek poplatků za úložiště, dává ekonomický smysl odstraňovat clustery, které nejsou používány.
Pokud chcete odstranit cluster, přečtěte si téma Odstranění clusteru HDInsight pomocí prohlížeče, PowerShellu nebo Azure CLI.
Další kroky
V tomto rychlém startu jste zjistili, jak používat Apache Phoenix ke spouštění dotazů HBase ve službě Azure HDInsight. Další informace o Apache Phoenixu najdete v dalším článku.