Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этого краткого руководства вы узнаете, как использовать Apache Phoenix для выполнения запросов HBase в Azure HDInsight. Apache Phoenix — это обработчик SQL-запросов для Apache HBase. Доступ к нему осуществляется как драйвер JDBC, который позволяет запрашивать таблицы HBase и управлять ими с помощью SQL. SQLLine — это программа командной строки для выполнения SQL.
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Предпосылки
Кластер Apache HBase. См. статью "Создание кластера " для создания кластера HDInsight. Убедитесь, что выбран тип кластера HBase .
Клиент SSH. Дополнительные сведения см. в руководстве по подключению к HDInsight (Apache Hadoop) с помощью SSH.
Определение узла ZooKeeper
При подключении к кластеру HBase необходимо подключиться к одному из узлов Apache ZooKeeper. Каждый кластер HDInsight имеет три узла ZooKeeper. Curl можно использовать для быстрого определения узла ZooKeeper. Измените приведенную ниже команду curl, заменив PASSWORD и CLUSTERNAME соответствующими значениями, а затем введите команду в командной строке.
curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER
Часть выходных данных будет выглядеть примерно так:
{
"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"
}
Запишите значение host_name для дальнейшего использования.
Создание таблицы и управление данными
Вы можете использовать SSH для подключения к кластерам HBase, а затем использовать Apache Phoenix для создания таблиц HBase, вставки данных и запроса данных.
С помощью команды
sshподключитесь к кластеру HBase. Измените приведенную ниже команду, заменивCLUSTERNAMEименем своего кластера, а затем введите команду:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.netИзмените каталог на клиент Phoenix. Введите следующую команду:
cd /usr/hdp/current/phoenix-client/binЗапустите SQLLine. Измените следующую команду, заменив
ZOOKEEPERна узел ZooKeeper, который был определен ранее, затем выполните команду../sqlline.py ZOOKEEPER:2181:/hbase-unsecureСоздайте таблицу HBase. Введите следующую команду:
CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));Используйте команду SQLLine
!tablesдля перечисления всех таблиц в HBase. Введите следующую команду:!tablesВставка значений в таблицу. Введите следующую команду:
UPSERT INTO Company VALUES(1, 'Microsoft'); UPSERT INTO Company VALUES(2, 'Apache');Выполните запрос к таблице. Введите следующую команду:
SELECT * FROM Company;Удаление записи. Введите следующую команду:
DELETE FROM Company WHERE COMPANY_ID=1;Удалите таблицу. Введите следующую команду:
DROP TABLE Company;Используйте команду
!quitSQLLine для выхода из SQLLine. Введите следующую команду:!quit
Очистка ресурсов
После завершения быстрого запуска вы можете захотеть удалить кластер. С помощью HDInsight данные хранятся в службе хранилища Azure, поэтому вы можете безопасно удалить кластер, если он не используется. Плата также взимается за кластер HDInsight, даже если он не используется. Так как плата за кластер во многих случаях превышает расходы на хранение, экономия позволяет удалять кластеры, если они не используются.
Инструкции по удалению кластера см. в статье Delete an HDInsight cluster using your browser, PowerShell, or the Azure CLI (Удаление кластера HDInsight с помощью браузера, PowerShell или Azure CLI).
Дальнейшие действия
Из этого краткого руководства вы узнали, как использовать Apache Phoenix для выполнения запросов HBase в Azure HDInsight. Чтобы узнать больше об Apache Phoenix, следующая статья предоставит более глубокий анализ.