Rychlý start: Dotazování Apache HBase v Azure HDInsight s Apache Phoenix
V tomto rychlém startu se dozvíte, jak pomocí Apache Phoenix spouštět dotazy HBase v Azure HDInsight. Apache Phoenix je SQL dotazovací modul 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 ZooKeeper
Když se připojíte ke clusteru HBase, musíte se připojit k jednomu z Apache ZooKeeper uzlů. Každý cluster HDInsight má tři uzly ZooKeeper. Curl lze použít k rychlé identifikaci uzlu ZooKeeper. Upravte následující příkaz curl tak, že a nahradíte příslušnými hodnotami, a pak do příkazového řádku zadejte PASSWORD CLUSTERNAME 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 podobně jako:
{
"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 pozdější použití.
Vytvoření tabulky a manipulace s daty
SSH můžete použít pro připojení ke clusterům HBase a pak pomocí Apache Phoenix vytvářet tabulky HBase, vkládat data a dotazovat se na data.
Pomocí
sshpříkazu se připojte ke clusteru HBase. Upravte následující příkaz tak, že nahradíte názvem vašeho clusteru aCLUSTERNAMEpak zadáte příkaz :ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.netZměňte adresář na klienta Phoenix. Zadejte následující příkaz:
cd /usr/hdp/current/phoenix-client/binSpusťte PŘÍKAZ SQLLine. Upravte následující příkaz tak, že
ZOOKEEPERnahradíte uzlem ZooKeeper, který jste identifikovali dříve, a pak zadejte příkaz :./sqlline.py ZOOKEEPER:2181:/hbase-unsecureVytvořte tabulku HBase. Zadejte následující příkaz:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));K zobrazení seznamu všech
!tablestabulek v HBase použijte příkaz SQLLine. Zadejte následující příkaz:!tablesVložte hodnoty do tabulky. Zadejte následující příkaz:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');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;Vytáhněte tabulku. Zadejte následující příkaz:
DROP TABLE Company;K ukončení sqlline
!quitpoužijte příkaz 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.
Informace o odstranění clusteru najdete v tématu Odstranění clusteru HDInsight pomocí prohlížeče, PowerShellu nebo Azure CLI.
Další kroky
V tomto rychlém startu jste zjistili, jak pomocí Apache Phoenix spouštět dotazy HBase v Azure HDInsight. Další informace o Apache Phoenix najdete v dalším článku, který vám poskytne podrobnější prozkoumání.