Я перечислю различные инструменты и библиотеки, доступные американским разработчикам для интеграции Oracle и Hadoop. Описанный ниже Oracle SQL Connector для HDFS более подробно описан в следующей статье.Подводя итог, можно сказать, что у нас есть Sqoop, изначально разработанный Cloudera, а теперь являющийся частью Apache, плагин Sqoop от MapQuest и Oracle Big Data connectors в виде семейства из четырех отдельных продуктов: Oracle Loader для Hadoop (OLH), Oracle SQL Connector для HDFS, Oracle R Connector для Hadoop и Oracle Data Integrator Application Adapter для Hadoop.
Apache Sqoop описывает себя как инструмент, предназначенный для эффективной передачи больших объемов данных между Apache Hadoop и структурированными хранилищами данных, такими как реляционные хранилища данных. базы данных. В этом смысле это ни в коем случае не ограничивается Oracle.
Я лично активно использовал Sqoop для импорта полных баз данных из Oracle. Вот мой опыт. В целом, это работает отлично, но мне не пришлось импортировать базы данных большего размера, чем за 1 раз, что относительно незначительно с точки зрения нагрузочного тестирования. Сопоставление между Oracle и Hive работает нормально, но с некоторыми сбоями. Тип необработанных данных не обрабатывается. Чтобы обойти это ограничение, вы можете использовать columnsoption для фильтрации этих столбцов, вы можете использовать map-column-hive для принудительного приведения к строковому типу или вы можете использовать свой собственный оператор SQL import для фильтрации или преобразования необработанных столбцов. Я также помню, что у меня возникли некоторые проблемы с заполнением столбцов пробелом, но я не могу вспомнить, в какой именно ситуации. Также обратите внимание, что по сравнению с вариантами импорта, предлагаемыми Sqoop, возможности экспорта более ограничены и не интегрированы с Hive.
Quest, редактор знаменитого семейства продуктов Toad, предоставляет плагин для Apache Sqoop, который позволяет передавать данные в двух направлениях между Oracle и Hadoop. Он предназначен для того, чтобы конкурировать с собственной реализацией Oracle, представленной в Sqoop, и рекламировать себя как более чем в пять раз более быструю. Это бесплатный подключаемый модуль с открытым исходным кодом для SQOOP, лицензируемый по лицензии Apache 2.0. Более подробная информация в этом блоге.
Oracle Big Data connectors — это набор из 4 продуктов. С помощью Oracle SQL Connector пользователь пишет запросы Oracle SQL, которые выполняются для внешней таблицы, ссылающейся на файлы, хранящиеся в формате HDFS. С помощью Oracle Data Integrator пользователь использует графические инструменты, которые генерируют HiveQL, которые, в свою очередь, генерируют собственные программы для уменьшения размера карты.
Использует обработку MapReduce для форматирования и эффективной загрузки данных в базу данных Oracle для анализа. Соединитель автоматически создает внешнюю таблицу Oracle Database с поддержкой OSCH, которая ссылается на файлы, хранящиеся в HDFS. Полный доступ к SQL позволяет пользователям объединять данные в HDFS с данными, хранящимися в Oracle Database, применять аналитические функции, загружать данные в таблицы и многое другое.
Oracle Loader для Hadoop — это приложение MapReduce, которое вызывается как утилита командной строки. Он принимает общие параметры командной строки, которые поддерживаются интерфейсом инструмента. Драйвер OLH использует Sqoop для выполнения операций, которые Oracle Loader для Hadoop не поддерживает.
Существует два режима загрузки данных в базу данных Oracle из кластера Hadoop:
Позволяет Oracle Database беспрепятственно получать доступ к данным из распределенной файловой системы Hadoop (HDFS), обеспечивая обработку SQL.
Как уже говорилось ранее, дополнительная информация доступна в другом сообщении в блоге.
Предоставляет пользователям R высокопроизводительный собственный доступ к распределенной файловой системе Hadoop (HDFS) и платформе программирования MapReduce. Он использует Sqoop для доступа к базе данных Oracle.
Он упрощает интеграцию данных между Oracle Data Integrator (ODI) и Hadoop с помощью простого в использовании интерфейса. ODI генерирует оптимизированный HiveQL, который, в свою очередь, генерирует собственные программы Map Reduce, которые выполняются в кластере Hadoop.