Полная версия
Технология хранения и обработки больших данных Hadoop
И Apache Sqoop является этим инструментом.
С помощью Sqoop мы можем автоматически загружать данные из MySQL в HDFS, сохраняя при этом структуру.
Вверху в меню откроем терминал, и запустим это задание Sqoop.
Эта команда запускает задания MapReduce для экспорта данных из базы данных MySQL и размещения этих файлов экспорта в формате Avro в HDFS.
Эта команда также создает схему Avro, чтобы мы могли легко загрузить таблицы Hive для последующего использования в Impala.
Impala – это механизм аналитических запросов.
И Avro – это формат файлов, оптимизированный для Hadoop.
Таким образом, мы скопируем код и запустим команду в терминале.
После выполнения задания, чтобы подтвердить, что данные существуют в HDFS, мы скопируем следующие команды в терминал.
Которые покажут папку для каждой из таблиц и покажут файлы в папке категорий.
Инструмент Sqoop также должен был создать файлы схемы для этих данных.
И эта команда должна показать avsc схемы для шести таблиц базы данных.
Таким образом, схемы и данные хранятся в отдельных файлах.
И схема применяется к данным, только когда данные запрашиваются.
И это то, что мы называем схемой на чтение.
Это дает гибкость при запросе данных с помощью SQL.
И это отличие от традиционных баз данных, которые требуют, чтобы у вас была четкая схема, прежде чем вводить в базу какие-либо данные. Здесь мы вводим данные, а уже потом применяем к ним схему.
Теперь, так как мы хотим использовать Apache Hive, нам понадобятся файлы схем.
Поэтому с помощью этой команду скопируем их в HDFS, где Hive может легко получить к ним доступ.
Вы могли заметить, что мы импортировали данные в каталоги Hive.
И Hive и Impala читают данные из файла в HDFS, и они даже обмениваются метаданными о таблицах.
Отличие состоит в том, что Hive выполняет запросы, компилируя их в задания MapReduce.
В то время как Impala является механизмом системы параллельных запросов, которые считывают данные непосредственно из самой файловой системы, в более быстром и интерактивном режиме.
Таким образом, мы загрузили данные с помощью Sqoop в HTFS, преобразовав их в формат Avro, и импортировали файлы схем, для их использования при запросе этих данных.
И теперь, давайте перейдем к следующему упражнению.
Здесь мы будем использовать Hue, приложение Impala, для создания метаданных для наших таблиц.
Мы создадим эти метаданные, а затем сделаем запрос к нашей таблице используя Hue.
Hue предоставляет веб-интерфейс, который доступен на порту 8888.
Чтобы войти в Hue, введем сloudera в качестве имени пользователя и пароля.
Далее в меню Query Editors откроем Impala.
Скопируем и вставим код, который создаст таблицы.
И обновим данные в левой колонке, чтобы увидеть созданные таблицы.
Теперь, когда данные доступны для запросов, мы можем ответить на вопрос, какие продукты покупают клиенты.
Для этого скопируем и вставим SQL запросы для расчета общей выручки по продукту и отображения 10 лучших продуктов, приносящих доход.
После выполнения, в Hue, мы увидим результаты запроса.
Таким образом мы узнали, как создавать и запрашивать таблицы с помощью Impala.
Теперь, давайте перейдем к следующему уроку.
И далее мы должны посмотреть, какие преимущества дает стек Cloudera по сравнению с традиционными системами.
Здесь мы попытаемся соотнести структурированные данные с неструктурированными данными и сможем ответить на вопрос – являются ли наиболее просматриваемые товары наиболее продаваемыми.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.