Я оценивал возможности Hadoop в Azure HDInsight, чтобы найти решение для работы с большими данными для нашего приложения для создания отчетов. Ключевой частью этой оценки технологии является то, что мне нужно интегрироваться со службами отчетов MSSQL, поскольку это то, что уже использует наше приложение. У нас очень мало ресурсов разработчиков, поэтому чем больше я смогу превратить это в инженерное упражнение, тем лучше. Что я пробовал до сих пор
- Используйте подключение ODBC из MSSQL, сопоставленное с Hive в HDInsight.
- Используйте подключение ODBC из MSSQL с помощью HBASE в HDInsight.
- Используйте SPARKQL локально на лазурном удаленном рабочем столе HDInsight.
Я обнаружил, что HBASE и Hive намного медленнее используются с нашими отчетами. Для тестовых данных я использовал таблицу с 60 тыс. строк и обнаружил, что отчет по MSSQL выполняется менее чем за 10 секунд. Я запустил запрос в консоли запросов hive и через соединение ODBC и обнаружил, что его выполнение заняло больше минуты. Spark был быстрее (30 секунд), но к нему невозможно подключиться извне, так как порты не могут быть открыты в кластере HDInsight.
Большие данные и Hadoop для меня в новинку. Мой вопрос в том, ищу ли я Hadoop для выполнения чего-то, для чего он не предназначен, и есть ли способы сделать это быстрее? Я подумал о кэшировании результатов и их периодическом обновлении, но это звучит как кошмар управления. Kylin выглядит многообещающе, но мы довольно сильно женаты на лазурных окнах, поэтому я не уверен, что это жизнеспособное решение.