«В отрасли выработана твердая позиция относительно дальнейшего развития Spark», – отметил глава аналитической фирмы Monash Research Курт Монаш.
«В наступившем году вы увидите много сценариев, выходящих за пределы нынешних возможностей Hadoop», – отметил генеральный директор и один из основателей компании Databricks Али Годси. Эта компания была образована при участии ряда разработчиков Spark, они предложили клиентам хостинговый сервис Spark и предоставили техническую поддержку дистрибьюторам программного обеспечения, продающим пакеты Spark.
Spark – это платформа для анализа данных, хранящихся в кластере. Как и Hadoop, Spark можно использовать для изучения наборов данных, которые слишком велики и не вписываются в стандарты традиционных хранилищ данных или реляционных СУБД. Подобно Hadoop, Spark может обрабатывать неструктурированные данные (например, журналы событий), которые нельзя представить в виде таблиц баз данных.
Однако по своим возможностям Spark превосходит потенциал Hadoop и позволяет анализировать потоковые данные непосредственно в процессе их поступления.
Таким образом, эта технология может стать более быстрой заменой Hadoop MapReduce для анализа данных. В ежегодном тесте Daytona Gray Sort Challenge, оценивающем производительность систем анализа данных, программное обеспечение Spark без труда обошло Hadoop MapReduce, сумев обработать 100 Тбайт записей за 23 минуты. Hadoop для выполнения той же задачи понадобилось почти в три раза больше времени – около 72 минут.
Поначалу может показаться, что обработка в реальном времени не имеет каких-то существенных отличий, но появление таких возможностей позволяет создавать совершенно новые направления бизнеса.
«Мы, со своей стороны, старались выстраивать нашу интеллектуальную собственность вокруг Spark», – пояснила основатель и генеральный директор компании ClearStory Data Шармила Шахани-Миллиган. ClearStory Data предлагает новый сервис бизнес-анализа, с помощью которого можно создавать последовательности элементов визуализации данных, как если бы речь шла о презентации PowerPoint. При этом данные могут поступать из множества источников и обновляются при поступлении новой информации.
«Людям нужно, чтобы реакция системы была быстрой, – подчеркнул Годси. – Они не хотят ждать ответа целый день. Рекламодатели, например, могли бы, задействуя Spark, решать, какую рекламу показывать пользователям исходя из последних их действий, а не на основе сайтов, которые они посетили несколько дней или недель назад. Скорость обработки данных имеет очень важное значение, потому что объемы собранных данных растут быстрее, чем происходит увеличение вычислительной мощности компьютеров».
«Spark предлагает также более разнообразные способы анализа данных, – указал Монаш. – Технология анализа данных MapReduce, применяемая в Hadoop по умолчанию, фильтрует, сортирует и распределяет данные между отдельными серверами (часть map) и обобщает полученные результаты (часть reduce). Технология же Spark проектировалась для выполнения более сложных запросов и включает в себя элементы машинного обучения и прогнозного моделирования. В тех областях, где Hadoop MapReduce действительно хороша, Spark потенциально ее превосходит».
Одним из первых клиентов Spark стал сервис потоковой музыки Spotify, где эта технология была применена для составления, на основе алгоритмов машинного обучения, музыкальных плей-листов, отвечающих вкусам пользователей.
Даже пользователи Hadoop стали присматриваться к новым возможностям Spark. У компании Cloudera, являющейся дистрибьютором Hadoop и распространяющей Spark, насчитывается уже около 60 корпоративных клиентов, которые в той или иной форме используют Spark. Другие дистрибьюторы Hadoop – Hortonworks и MapR – тоже предлагают Spark своим клиентам.
Реализация проекта Spark началась в 2008 году в лаборатории AMPLab Калифорнийского университета в Беркли. Сейчас, под крылом Apache Software Foundation, этот проект развивается активнее любого другого программного проекта Apache. К основным его участникам примкнули инженеры и разработчики из компаний Intel, Yahoo, Groupon, Alibaba и Mint.
Платформа Spark может использоваться как совместно с Hadoop для анализа данных в Hadoop File System (HDFS), так и автономно. Приложения Spark разработчики создают на языках программирования Python, Java и Scala.
«Привлекательности Spark добавляет хороший интерфейс API, упрощающий доступ к этой платформе со стороны инженеров и разработчиков», – отметил один из основателей Databricks Рейнольд Ксин.
«В 2015 году мы увидим гораздо больше продуктов и сервисов на основе Spark, – прогнозирует Годси. – Программистам сегодня все чаще задают вопросы о навыках разработки на платформе Spark. И у нас было много кандидатов, заявлявших, что не раз видели очень интересные проекты Spark».