Мы представили Spark Cache для управления данными в памяти в нашем продукте, потому что агрессивная работа с удаленными базами данных, где размер данных Огромен (БОЛЬШИЕ ДАННЫЕ), занимала слишком много времени.
Прямо сейчас мы заметили, что после загрузки данных в spark ответ еще медленнее, чем прямой запрос к исходному источнику (удаленная база данных).
Мы используем sparkSQL для извлечения данных, и тот же запрос возвращается намного раньше из удаленной БД с данными, где кеш Spark с одним узлом на том же компьютере сильно отстает.
Любое руководство будет оценено.
Пример запроса со снимками пользовательского интерфейса Spark:
SELECT column1, SUM(column2) FROM tableName WHERE column2 > 200 GROUP BY column1 ORDER BY column1
Данные загружены на 100 % в памяти Spark. См. изображение
На это ушло 15 минут. загружать результаты из Spark. см. изображение
Где кэш Spark содержит около 50 000 записи. И Машина, на которой тестировался запрос, имеет 16 ядер ЦП с памятью 64 ГБ.
Мой вопрос: 50 000 записей - это ничто, почему это занимает так много минут, а не доли миллисекунд. Где все делается на локальной машине.