Как облака способны усилить Apache Spark?
Чтобы обрабатывать Big Data, крайне важна горизонтальная масштабируемость. То есть чем больше мы имеем узлов в кластере, тем быстрее происходит обработка этих самых данных. Spark исключением не является.
Однако на деле выстраивать кластеры в целях обработки данных на собственном оборудовании -- дело, во-первых, сложное, а во-вторых -- затратное. Ведь угадать заранее, сколько потребуется серверов и какой мощности, задача трудная. Если задействуешь много серверов -- получишь простои, если задействуешь мало -- обработка данных станет занимать слишком много времени. Именно поэтому следует обратить самое пристальное внимание на облачные технологии.
Современные облачные платформы способны предоставить большие объемы ресурсов, причем по требованию. При небольшой нагрузке вы можете подключать лишь несколько небольших узлов. Если нагрузка вырастет, вы сможете оперативно добавить в кластер новые узлы. Все это даст возможность задействовать ресурсы максимально эффективно.
Кроме вышесказанного, облачные платформы характеризуются наличием специальных инструментов для работы с Big Data. Достаточно вспомнить платформу VK Cloud (MCS), где присутствуют различные инструменты по работе с Big Data: Hadoop, Spark, Kafka, Storm. Плюсом является то, что все они предоставляются в качестве сервиса, а это значит, что инсталлировать их не надо, как и поддерживать -- все это ложится на плечи облачного провайдера.
Вдобавок к вышеупомянутым инструментам, для работы с Big Data предоставляются и разные полезные технологии. Тот же Apache Spark вы сможете развернуть в Kubernetes, что позволит получить больше гибкости, одновременно с этим решив ряд проблем классического Hadoop-кластера (например, проблему изоляции сред либо проблему разделения Compute- и Storage-слоев). Таким образом, облачные платформы в сочетании с Apache Spark при правильном подходе позволяют достичь неплохих результатов. А это не может не радовать.
По материалам https://mcs.mail.ru/blog.