hive учебник
Начало работы с улей
Поиск…
замечания
- Улей - это инструмент хранилища данных, построенный на вершине Hadoop .
- Он предоставляет SQL-подобный язык для запроса данных.
- Мы можем запускать почти все SQL-запросы в Hive, с той лишь разницей, что он запускает работу по сокращению карты на бэкэнд для получения результата из Hadoop Cluster. Из-за этого улей иногда занимает больше времени, чтобы получить результат.
Пример подсчета слов в улье
Файл Docs (входной файл)
У Мэри был маленький ягненок
его шерсть была белой, как снег
и везде, куда Мария пошла
ягненок обязательно поехал.
Уличный запрос
CREATE TABLE FILES (line STRING);
LOAD DATA INPATH 'docs' OVERWRITE INTO TABLE FILES;
CREATE TABLE word_counts AS
SELECT word, count(1) AS count FROM
(SELECT explode(split(line, ' ')) AS word FROM FILES) w
GROUP BY word
ORDER BY word;
Вывод таблицы word_counts в Hive
Мэри, 2
было, 1
а, 1
мало, 1
баранина, 2
его, 1
флис, 1
была, 2
белый, 1
а, 1
снег, 1
и, 1
везде, 1
что, 1
пошел, 1
, 1
Конечно, 1
к, 1
идти, 1
Установка Hive (linux)
Начните с загрузки последней стабильной версии с https://hive.apache.org/downloads.html
-> Теперь распакуйте файл с помощью
$ tar -xvf hive-2.xy-bin.tar.gz
-> Создать каталог в каталоге / usr / local / with
$ sudo mkdir / usr / local / hive
-> Переместить файл в корень с помощью
$ mv ~ / Downloads / hive-2.xy / usr / local / hive
-> Редактировать переменные среды для hadoop и hive в .bashrc
$ gedit ~ / .bashrc
как это
экспорт HIVE_HOME = / usr / local / hive / apache-hive-2.0.1-bin /
export PATH = $ PATH: $ HIVE_HOME / bin
export CLASSPATH = $ CLASSPATH: / usr / local / Hadoop / lib / * :.
export CLASSPATH = $ CLASSPATH: /usr/local/hive/apache-hive-2.0.1-bin/lib/* :.
-> Теперь, запустите hasoop, если он еще не запущен. И убедитесь, что он запущен, и он не находится в безопасном режиме.
$ hadoop fs -mkdir / пользователь / улей / склад
Каталог «склад» - это место для хранения таблицы или данных, относящихся к улью.
$ hadoop fs -mkdir / tmp
Временной каталог «tmp» является временным местом хранения промежуточного результата обработки.
-> Установить разрешения для чтения / записи в этих папках.
$ hadoop fs -chmod g + w / пользователь / улей / склад
$ hadoop fs -chmod g + w / user / tmp
-> Теперь активируйте HIVE с помощью этой команды в консоли
$ hive
Установка улья с использованием внешнего метастора в Linux
Предпосылки:
- Java 7
- Hadoop (см. Здесь для установки Hadoop)
- Сервер и клиент Mysql
Монтаж:
Шаг 1: Загрузите последний архив из Hive с страницы загрузки .
Шаг 2: Извлеките загруженный tarball ( Предположение: tarball загружается в $ HOME )
tar -xvf /home/username/apache-hive-x.y.z-bin.tar.gz
Шаг 3: Обновите файл окружения ( ~/.bashrc
)
export HIVE_HOME=/home/username/apache-hive-x.y.z-bin
export PATH=$HIVE_HOME/bin:$PATH
введите файл, чтобы установить новые переменные среды.
source ~/.bashrc
Шаг 4: Загрузите соединитель JDBC для MySQL из здесь и извлечь его.
tar -xvf mysql-connector-java-a.b.c.tar.gz
mysql-connector-java-abcjar
каталог содержит jar-файл mysql-connector-java-abcjar
. Скопируйте его в lib
$HIVE_HOME
cp mysql-connector-java-a.b.c.jar $HIVE_HOME/lib/
Конфигурация:
Создайте файл конфигурации hive-site.xml
$HIVE_HOME/conf/
и добавьте следующие свойства, связанные с метасторе.
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost/hive_meta</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>mysqluser</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysqlpass</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>
</configuration>
Обновите значения MySQL «имя пользователя» и «пароль» соответственно в свойствах.
Создайте схему Metastore:
Скрипты схемы метастабильности доступны в разделе $HIVE_HOME/scripts/metastore/upgrade/mysql/
Войдите в MySQL и введите схему,
mysql -u username -ppassword
mysql> create database hive_meta;
mysql> use hive_meta;
mysql> source hive-schema-x.y.z.mysql.sql;
mysql> exit;
Запуск Metastore:
hive --service metastore
Чтобы запустить его в фоновом режиме,
nohup hive --service metastore &
Запуск HiveServer2: (используйте, если необходимо)
hiveserver2
Чтобы запустить его в фоновом режиме,
nohup hiveserver2 metastore &
Примечание. Эти исполняемые файлы доступны в разделе $HIVE_HOME/bin/
Подключение:
Используйте hive
, beeline
или Hue для соединения с Hive.
Hive CLI устарел, рекомендуется использовать Beeline или Hue.
Дополнительные конфигурации для оттенков:
Обновите это значение в $HUE_HOME/desktop/conf/hue.ini
[beeswax]
hive_conf_dir=/home/username/apache-hive-x.y.z-bin/conf