Оглавление:

1. Что такое Apache Sqoop.

2. Установка Apache Sqoop.

3. Импорт данных из MySql в Hive.


Что такое Apache Sqoop.


Apache Sqoop - это программное средство от Apache, которое позволяет импортировать данные в Hadoop (например в Hive) из различных реляционных СУБД, например MySQL.

В предыдущих разделах мы импортировали путем загрузки дампа базы в CSV-формате в каталог таблицы в HDFS.

Мы же с помощью одной команды sqoop сможем сразу импортировать наши данные из базы напрямую в hive.

Sqoop позволяет работать с различными СУБД, имеет в своем арсенале огромное количество настроек, которые подробно документированы на официальной странице.

Приступим к установке.


Установка Apache Sqoop.


Сначала нужно скачать архив (именно такой sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz) с официальной страницы.

Разархивировать и перенести в каталог /usr/local/sqoop-1.4.7

Открыть в редакторе файл bashrc:


cd

sudo gedit .bashrc


Добавить в конец файла переменные:

export SQOOP_HOME=/usr/local/sqoop-1.4.7

export PATH=$PATH:$SQOOP_HOME/bin

export HIVE_CONF_DIR=/usr/local/hive/conf


Применить настройки:source .bashrc

Перейти в каталог настроек sqoop и создать файл sqoop-env.sh из шаблона:

cd $SQOOP_HOME/conf

sudo cp sqoop-env.sh.template sqoop-env.sh


Открыть sqoop-env.sh в редакторе и указать следующие пути:

export HADOOP_COMMON_HOME=/usr/local/hadoop/hadoop-2.9.1

export HADOOP_MAPRED_HOME=/usr/local/hadoop/hadoop-2.9.1

export HIVE_HOME=/usr/local/hive


Сохранить и выйти. На этом вроде как все настройки завершены, но у меня постоянно возникали ошибки из-за того, что sqoop не видел java-классы для hive. Я так и не смог указать нужную переменную окружения и решил проблему, просто скопировав jar-файлы из hive/lib в sqoop/lib

sudo cp $HIVE_HOME/lib/ $SQOOP_HOME/lib/

Теперь все готово к импорту данных.


Импорт данных из MySql в Hive.

Комментарии

Комментировать могуть только зарегистрированные пользователи

Мы в социальных сетях
Перевести страницу (translate page)
Реклама