Подключение к улью с использованием Beeline

Я пытаюсь подключиться к улью, установленному на моей машине через клиент Beeline. когда я даю команду beeline и подключаюсь к Hive, клиент запрашивает имя пользователя и пароль

!connect jdbc:hive2://localhost:10000/default

Я понятия не имею, какое имя пользователя и пароль я должен дать. Должен ли я добавлять учетные данные (имя пользователя и пароль) в какой-либо файл конфигурации?

Ответ 1

нет имени пользователя и пароля.

!connect jdbc:hive2://localhost:10000/default

  Enter username for jdbc:hive2://localhost:10000/default: <press Enter>
  Enter password for jdbc:hive2://localhost:10000/default: <press Enter>

Просто нажмите enter. Это работает для меня.

Или попробуйте это.

!connect jdbc:hive2://localhost:10000/default "" "" ""

Ответ 2

Доступ к HIVE через Beeline:

Запуск клиента beeline

beeline --incremental=true

Примечание. Параметр командной строки "-incremental = true" является необязательным, но увеличивает время, в течение которого вы можете оставаться без дела, а не отключать свое соединение.

Подключение к серверу hive2

!connect jdbc:hive2://silver-server-
hive.app.google.com:10000/default

Примечание. Вам будет предложено ввести имя пользователя и пароль. ИСПОЛЬЗОВАТЬ имя пользователя и пароль

beeline> !connect jdbc:hive2:// silver-server-hive.app.google.com:10000/default
scan complete in 3ms
Connecting to jdbc:hive2:// silver-server-hive.app.google.com:10000/default
Enter username for jdbc:hive2:// silver-server-hive.app.google.com:10000/default:suman
Enter password for jdbc:hive2:// silver-server-hive.app.google.com:10000/default: *********

Настройка очереди (если есть)

set mapred.job.queue.name=<your queue name>; 

Примечание. Чтобы запускать запросы, вам нужно установить очередь.

Настройка базы данных

USE google_map_data;

Примечание. При выполнении запросов вы должны находиться в базе данных.

Повторное подключение неактивного сеанса

!reconnect jdbc:hive2:// silver-server-hive.app.google.com:10000/default; 

Выход из клиента beeline

!quit

Примечания:

  • Загрузите beeline, URL и укажите свое имя пользователя и пароль в одной команде:

beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\ 
-n <yourname> -p <yourpassword> --incremental=true**

Основные запросы Beeline

Beeline поддерживает богатый набор функций SQL-запросов.

Получение информации о данных

SHOW DATABASES;
USE <database>;

SHOW TABLES;
DESC <table>;
DESC FORMATTED <table>;

Простые инструкции с ограниченным выбором

SELECT * FROM google_map_city limit 25;

Ответ 3

Использование beeline для размещения сервера, на котором включена Kerberos Security

 beeline -u "jdbc:hive2://<Server Ip>:<port>/sample;principal=<hive user>/<Server Ip>@<relam>;retries=3"

пример

 beeline -u "jdbc:hive2://10.10.10.10:8071/sample;principal=hive/[email protected];retries=3"

Ответ 4

Вы можете использовать пустые имя пользователя и пароль, как указано в @sravan. Это выполнит запрос в качестве пользователя, в котором работает процесс hiveserver2.

Однако, если вы установили свойство hive.server2.enable.doAs в свой hive-site.xml или поместили его в hiveconf во время работы hiveserver2, вы можете при желании передать имя пользователя и пароль с помощью подсказки. В этом случае куст выполнит запрос как переданное имя пользователя с использованием заданного пароля. Имя пользователя здесь - системное имя пользователя.

В некоторых сценариях это необходимо - скажем, что вы выполняете процесс hiveserver2 как пользовательский улей, но у вас есть внешняя таблица, определенная с помощью HDFS path/user/alex/table1, которая принадлежит пользователю "alex" и нет другой пользователь имеет доступ на чтение/запись в этом месте. В этом случае выполнение запроса как "hive" - пустым именем пользователя и паролем - не будет работать, поскольку он не сможет получить доступ к каталогу и выбросить исключение, исключенное из него.

Ответ 5

Это идентификатор пользователя и пароль, который используется для входа в кластер. Иногда это учетные данные пограничных узлов, которые вы используете для входа на сервер. Лучший способ избежать этого - использовать приведенную ниже команду

beeline -u jdbc:hive2://localhost:10000/default

Если вы уже вошли в какой-либо узел с помощью putty, вам не будет предложено ввести какой-либо идентификатор пользователя или пароль.

EDIT

Уловка: Чтобы избежать повторного ввода всей строки beeline, рекомендуется создать псевдоним в файле bash_profile.

просто добавьте строку ниже в профиле bash (с защитой kerberos, предложенной @Harsimranjit Singh Kler) beeline -u jdbc:hive2://<hostname>:10000/default;principal=hive/<hostname>@<realm>;ssl=true; и Источник bash_profile (source .bash_profile) и все готово. В следующий раз просто наберите beeline и он подключится к серверу hive2

Ответ 7

• Загрузите beeline, URL и укажите свое имя пользователя и пароль в одной команде:

**beeline -u jdbc:hive2:// silver-server-hive.app.google.com:10000\ 
-n <yourname> -p <yourpassword> --incremental=true**