Поможет ли мне Apache Spark?

155
19 августа 2021, 11:30

У меня есть база данных MySQL с большими таблицами (~4-20G) и сервер Tableau для аналитиков. Запросы с Tableau работают слишком медленно. Я хочу между ними поставить Spark SQL, чтобы из MySQL делать только SELECT, а вся обработка будет в Spark.

Есть ли в этом смысл? И если есть, хватит ли одного кластера Spark?

Answer 1

IMO Spark Cluster, состоящий из единственного узла, не дает никаких преимуществ кроме Spark API и сопутствующих библиотек: Spark SQL, Spark ML, etc.

Вся "прелесть" обработки данных в Spark Cluster в возможности параллельной и распределенной обработки огромных массивов данных, которые не помещаются в память одного сервера. Разумеется существуют накладные расходы при работе со Spark. Я когда-то сравнивал скорость несложной обработки данных на одном узле Spark Cluster, используя Spark SQL и Pandas - на одном и том же железе. Pandas оказался почти в 10 раз быстрее. Поэтому я рассматривал использование Spark только если у вас есть реальная необходимость параллельной и распределенной обработки данных и если у вас есть соответствующее железо - с 3+ узлами кластера.

PS большинство функций из Spark SQL уже реализованы в MySQL, поэтому вы можете попробовать сделать все на стороне MySQL обычными запросами - это может сэкономить часть времени чтения и передачи данных.

READ ALSO
Регулярные выражения Java, выбор из строки

Регулярные выражения Java, выбор из строки

Можно из такой строки: 548673++++++1028 809216 /RU/CARD2CARD ALFA_MOBILE>MOSCOW 3105

282
Регистр первого символа каждого слова, которое состоит из трех и более символов, должен быть интвертирован. Как сделать чтоб работало и с кириллицей?

Регистр первого символа каждого слова, которое состоит из трех и более символов, должен быть интвертирован. Как сделать чтоб работало и с кириллицей?

Слово следует рассматривать как последовательность, содержащую только буквы (все остальные символы не являются частью слово)Например: Вход:

245
Полиморфизм и позднее связывание в Java

Полиморфизм и позднее связывание в Java

У Эккеля есть замечательный пример полиморфизма:

299
Вытащить два первых символа из строки

Вытащить два первых символа из строки

Есть такая таблица в несколько колонок

102