Вы можете получить часть ответа в блоге оракула ( ссылка ).
Если данные должны извлекаться в среде HDFS через sqoop, сначала необходимо прочитать следующее из документации sqoop.
Sqoop обрабатывает большие объекты (столбцы BLOB и CLOB) особым образом. Если эти данные действительно большие, то эти столбцы не должны быть полностью материализованы в памяти для манипуляций, как большинство столбцов. Вместо этого их данные обрабатываются потоковым способом. Большие объекты могут храниться в потоке с остальными данными, и в этом случае они полностью материализуются в памяти при каждом доступе, или они могут храниться во вторичном файле хранения, связанном с основным хранилищем данных. По умолчанию крупные объекты размером менее 16 МБ хранятся в строке вместе с остальными данными. В большем размере они хранятся в файлах в подкаталоге _lobs целевого каталога импорта. Эти файлы хранятся в отдельном формате, оптимизированном для большого хранилища записей, которое может вместить записи размером до 2 ^ 63 байт каждый. Размер, при котором объекты разливаются в отдельные файлы, контролируется аргументом --inline-lob-limit, который принимает параметр, задающий наибольший размер объекта для сохранения в строке, в байтах. Если для встроенного лимита большого объекта установлено значение 0, все крупные объекты будут помещены во внешнее хранилище.
Чтение через веб-приложение возможно, если вы используете механизм запросов MPP, такой как Impala, и он работает довольно хорошо и является технологией, готовой к работе. Мы интенсивно используем сложные запросы Impala для рендеринга контента для приложения SpringBoot. Так как Impala запускает все в памяти, существует вероятность замедления или сбоя, если это мультитенантный кластер Cloudera. Для небольших групп пользователей (1000-2000 пользователей) это работает отлично.
Дайте мне знать, если вам нужно больше информации.
Рекомендация будет
- Использовать дистрибутив Cloudera ( читать здесь )
- Дайте достаточно памяти для Импалы Деймонс
- Убедитесь, что YARN настроен правильно для загрузки ETL по расписанию (справедливая доля или приоритетная доля) против нагрузки веб-приложения
- При необходимости держите Демонов Импалы подальше от ЯРНЫ
- Определение квоты памяти для Impala Memory, чтобы разрешать одновременные запросы
- Сгладьте ваши запросы, чтобы Impala работала быстрее без объединений и перемешиваний.
- Если вы читаете всего несколько столбцов, сохраняйте их в Паркет, это работает очень быстро.