Рубрика

Информационные технологии

Ключевые слова

Big Data
Java
язык программирования
ИТ-компании
платформа Apache Spark
технология Apache Hadoop
Apache Mahout
Apache Storm
Java JFreechart

Аннотация статьи

Java – это основной язык программирования в целом ряде трендовых и быстро набирающих популярность ниш ИТ-рынка. Чаще всего в контексте привязанности к Java упоминаются Интернет вещей (IoT) и big data, а также Business intelligence (бизнес-анализ, BI) и Real Time Analytics (аналитика в реальном времени).

В статье рассмотрим big data: почему Java, а значит и его кодеры, очень востребованы и в этой нише тоже, как именно этот язык применяется в проектах с «большими данными», а также какие тренды актуальны для big data прямо сейчас.

Текст статьи

Big Data неотвратимо и неуклонно, а главное очень быстро, проникает в бизнес-процессы компаний по всему миру, а те, в свою очередь, вынуждены разыскивать профессионалов для работы с данными. По данным Forbes, применение big data на предприятиях выросло с 17% в 2015 году в 4 раза. Big Data стремительно распространяется на разные сектора экономики, включая продажи, маркетинг, исследования и разработки, логистику и все-все-все.

Согласно исследованию IBM, количество рабочих мест для профессионалов в этой сфере только лишь в США превысило 2,7 млн.

У Big Data и Java так много общего потому, что многие основные инструменты для big data написаны как раз на Java. При этом, практически все эти инструменты являются open source проектами. А значит, они доступны всем желающим и по этой же причине активно используются крупнейшими ИТ-компаниями по всему миру. «В значительной степени, Big Data – это и есть Java. Hadoop и довольно большая часть экосистемы Hadoop написаны на Java. Интерфейс MapReduce для Hadoop – это тоже Java. Так что Java-разработчику будет довольно легко перейти в big data, просто создавая Java-решения, которые будут работать на базе Hadoop. Есть также и библиотеки Java, такие, как Cascading, которые облегчают работу. Java также очень полезен для дебаггинга, даже если вы используете что-то вроде Hive (Apache Hive – система управления базами данных на основе Hadoop)», – сказал Марцин Мейран (Marcin Mejran), специалист по данным и вице-президент по разработке данных компании Eight.

Помимо Hadoop, Storm написан на Java, а Spark – на Scala, который, в свою очередь, работает на JVM, а Spark имеет интерфейс Java. Как видите, Java играет в big data просто огромную роль. Все это инструменты с открытым исходным кодом, а это значит, что разработчики внутри компаний могут создавать для них расширения либо добавлять функциональность. Эта работа очень часто включает Java разработку.

Таким образом, и в big data, так же как в Интернете вещей, машинном обучении и ряде других продолжающих набирать популярность ниш, знание Java будет просто незаменимым.

Остановимся подробнее на вышеупомянутых big data инструментах, которые повсеместно используются Java-разработчиками.

Apache Hadoop

Apache Hadoop – одна из основополагающих технологий для big data, и написана она на Java. Hadoop – это свободно распространяемый набор утилит, библиотек и фреймворков с открытым исходным кодом, который находится под управлением Apache Software Foundation. Изначально созданный для масштабируемых и распределенных, но при этом надежных вычислений, а также хранения огромных объемов различной информации, Hadoop естественным образом становится центром инфраструктуры «больших данных» для многих компаний. Компании по всему миру активнейшим образом ищут Hadoop специалистов, а Java как раз является ключевым навыком, который требуется для освоения этой технологии.

По данным Developers Slashdot, многие крупные компании, среди которых JPMorgan Chase с его рекордными зарплатами для программистов, активно искали Hadoop-спецов на конференции Hadoop World, но даже там не смогли найти достаточно экспертов с нужными им навыками (в частности, это знание модели программирования и каркаса для написания приложений Hadoop MapReduce). На текущий момент множество позиций для Hadoop-специалистов также есть у Amazon, eBay, Apple, Facebook, General Dynamic и других компаний.

«Как без дыма нет огня, так сейчас без big data нет бизнеса» – слова известного эксперта в области аналитики данных и цифровых технологий доктора Томаса Редмана.

Apache Spark

Apache Spark – это еще одна ключевая big data платформа, которая серьезно конкурирует с Hadoop. Благодаря своей быстроте, гибкости и удобству для разработчиков, Apache Spark становится лидирующей средой для крупномасштабного SQL, пакетной и потоковой передачи данных и машинного обучения. Являясь фреймворком для распределенной обработки больших данных, Apache Spark работает по схожему принципу с фреймворком Hadoop MapReduce и постепенно отбирает у того пальму первенства по использованию в сфере big data. Spark можно применять множеством разных способов, в нем есть привязка к Java, как и ряду других языков программирования, таких как Scala, Python и R. На сегодняшний день Spark широко используется банками, телекоммуникационными компаниями, разработчиками видеоигр и даже правительствами. Конечно, и ИТ-гиганты, такие, как Apple, Facebook, IBM и Microsoft, любят Apache Spark.

Apache Mahout

Apache Mahout – это open source Java библиотека для машинного обучения от Apache. Mahout является именно инструментом масштабируемого машинного обучения с возможностью обработки данных на одной или нескольких машинах. Реализации данного машинного обучения написаны на Java, некоторые части построены на Apache Hadoop.

Apache Storm

Apache Storm – это фреймворк для распределенных потоковых вычислений в реальном времени. Storm упрощает надежную обработку неограниченных потоков данных, делая в режиме реального времени то же, что делает Hadoop для пакетов данных. Storm интегрируется с любой системой очередей и любой системой баз данных.

Java JFreechart

Java JFreechart – это библиотека с открытым исходным кодом, разработанная на Java и предназначенная для использования в приложениях на основе Java для создания широкого спектра диаграмм. Дело в том, что визуализация данных является довольно важной задачей для успешного анализа больших данных. Поскольку big data подразумевает работу с большими объемами данных, определить какой-либо тренд и просто прийти к тем или иным выводам, просматривая необработанные данные, бывает сложно. Однако если те же данные отображаются в виде графика, они становятся более понятными, в них легче найти закономерности и определить корреляции. Java JFreechart собственно и помогает в создании графиков и диаграмм для анализа big data.

Deeplearning4j

Deeplearning4j – это библиотека Java, которая используется для построения различных типов нейронных сетей. Deeplearning4j реализована на Java и выполняется в среде, при этом совместима с Clojure и включает API для языка Scala. В технологии Deeplearning4j входит реализация ограниченной машины Больцмана, глубокой сети доверия, глубокого автокодировщика, стекового автокодировщика с фильтрацией шума, рекурсивной тензорной нейронной сети, word2vec, doc2vec и GloVe.

По словам Крейга Мунди, старшего советника генерального директора Microsoft: «Большие данные становятся новым сырьем для бизнеса».

Кратко остановимся на основных трендах big data:

  1. Интернет вещей – big data становятся еще больше. IoT продолжает «трендовать», набирает обороты и распространяется по миру. Следовательно, растет и количество установленных в домах и офисах «умных» устройств, а потому объем «больших» данных будет только нарастать. Следовательно, инвестиции в big data-проекты тоже будут быстро увеличиваться.
  2. Цифровые двойники – это еще один интересный тренд ближайшего будущего, который прямо связан и с Интернетом вещей и с большими данными. А следовательно и применения Java в нем будет более чем достаточно. Это цифровой образ реального объекта или системы. Программный аналог физического устройства позволяет моделировать внутренние процессы, технические характеристики и поведение реального объекта в условиях воздействия помех и окружающей среды. Работа цифрового двойника невозможна без огромного количества датчиков в реальном устройстве, работающем параллельно.
  3. Цифровая трансформация в качестве важного тренда упоминается уже не первый год. Но проблема в том, отмечают специалисты, что у многих компаний и топ-менеджеров было крайне размытое понимание того, что это словосочетание вообще означает. Для многих цифровая трансформация означала поиск способов продажи данных, которые собирает компания, для создания новых источников прибыли. Суть цифровой трансформации в правильном применении данных для каждого аспекта их бизнеса для создания конкурентного преимущества. А поэтому можно ожидать, что компании будут увеличивать бюджеты проектов, связанных с правильным и осознанным применением данных.

Заключение

Big Data – это еще одна поистине громадная область деятельности с массой возможностей, в которой Java-разработчик может найти себе применение. Так же как Интернет вещей, эта область бурно развивается и испытывает острую нехватку программистов, как и других технических экспертов. Корни больших данных глубоко укоренены в Java. Несколько сообществ с открытым исходным кодом на основе Java вносят свой вклад в создание инструментов для больших данных с открытым исходным кодом.

В настоящее время мы можем наблюдать экспоненциальный рост данных. Анализ такого большого объема данных будет продолжать расти в течение определенного периода времени. Одним из основных способов анализа этих данных является пакетная обработка данных, которая в основном выполняется с помощью инструментов с открытым исходным кодом, таких как Hadoop и Spark. Оба являются инструментами на основе Java.

Список литературы

  1. Java For Big Data: All You Need To Know. Электронный ресурс: https://www.geeksforgeeks.org/java-for-big-data/.
  2. Что такое большие данные – Big Data? Электронный ресурс: https://wiki.merionet.ru/articles/chto-takoe-bolshie-dannye-big-data.
  3. Java Big Data Frameworks. Электронный ресурс: https://www.javatpoint.com/java-big-data-frameworks.

Поделиться

29

Стариков С. В. Big Data и Java // Актуальные исследования. 2024. №53 (235). URL: https://apni.ru/article/10982-big-data-i-java

Обнаружили грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики)? Напишите письмо в редакцию журнала: info@apni.ru

Похожие статьи

Актуальные исследования

#1 (236)

Прием материалов

4 января - 10 января

осталось 5 дней

Размещение PDF-версии журнала

15 января

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

29 января