Рубрики
Без рубрики

Взгляд на длительную взаимосвязь Java и больших данных (Со списком ресурсов, которые специалисты по обработке данных могут использовать для изучения Java)

Если вы энтузиаст компьютерных наук, стремящийся позиционировать себя как аналитика больших данных, вы можете быть сбиты с толку тем, что является правильной отправной точкой. В этом посте я объясню, почему я считаю, что изучение Java является одним из наиболее разумных решений, которые может принять специалист по обработке данных, и поделюсь некоторыми полезными ресурсами, которые помогут вам в обучении. С тегами java, новички, bigdata, datascience.

Наука о данных – одна из самых востребованных (если не самая востребованная) профессий XXI века. Число студентов CS и специалистов по бизнес-наукам, которые хотят знать, как анализировать аналитические данные, растет с бешеной скоростью.

Прямо сейчас “Введение в науку о данных” является самым быстрорастущим классом в Беркли. Когда дело доходит до Гарварда, “Введение в статистику” было еще одним популярным выбором среди студентов — изменение, стимулированное ростом больших данных и науки о данных.

Мы все понимаем, что когда дело доходит до производства данных, конца не видно. С 2000-х годов мы создаем терабайты данных, способствуя всемирному потоку данных.

В 2021 году потребность в людях, которые могли бы разобраться во всей этой доступной информации, станет более острой, чем когда-либо. Вот почему спрос на специалистов по обработке данных резко возрос.

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

Наука о данных Никуда не денется: 10 причин изучать Большие данные

К сожалению, если вы зайдете на технический форум или в ветку Reddit, связанную с наукой о данных, очень часто можно услышать утверждения типа “Наука о данных устареет через 20 лет”. Я бы сказал, что нет никаких эмпирических доказательств того, что это произойдет в ближайшее время — скорее, по мере развития BD и анализа данных появляются новые приложения этих технологий.

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

  • Ориентация на клиентов. Бренды и корпорации уже давно открыли для себя силу BD и стремятся максимально использовать информацию, которой клиенты делятся на веб-сайтах и в социальных сетях. Что касается политического мира, то большие данные стали смертоносным оружием в обращении к избирателям и продвижении кандидатов в сенат или на должность.

  • Оптимизация внутренних корпоративных процессов. Растущее число компаний и менеджеров по подбору персонала полагаются на большие данные для продуктивной работы. Они используют инструменты отслеживания и датчики, чтобы получить доступ к информации об эффективности сотрудников, и полагаются на алгоритмы ML и BD, чтобы разобраться в этой информации.

  • Личная жизнь и социализация. Сила больших данных в онлайн-знакомствах была горячей темой на протяжении последнего десятилетия. Такие приложения, как Tinder, OkCupid и eHarmony, доказали, что можно разбить поиск партнеров на ряд алгоритмов и предсказуемых сценариев. В будущем влияние BD на рынок знакомств, вероятно, будет еще более широким, помогая ищущим любви исполнять желания, о которых они и не подозревали.

  • Здравоохранение и эффективное лечение. В секторе здравоохранения существует множество приложений BD — от использования возможностей датчиков и трекеров в оздоровительных целях до повышения точности диагностики и создания основы для облегчения принятия решений врачами о жизни или смерти.

  • Повышение актуальности науки и эффективности академических исследований. Ведущие исследовательские институты, такие как ЦЕРН, вкладывают значительные средства в центры обработки данных по определенной причине — аналитические данные, предоставляемые аналитиками, пригодятся для составления точных прогнозов, определения областей исследований, актуальных для широкой общественности, и расширения кругозора ученого.

  • Повышение работоспособности спортсменов. Инструменты больших данных были официально внедрены в теннисе и футболе, чтобы судьи не принимали слепых решений по ошибкам игроков. НФЛ также использует большие данные, чтобы помочь менеджерам команд принимать взвешенные решения относительно разведки, управления стадионами или взаимодействия с болельщиками. Менеджеры команд и тренеры, чтобы полагаться на BD и аналитику данных, планировать тренировки спортсменов и следить за тем, чтобы они не вредили игрокам чрезмерными или напряженными тренировками.

  • Оптимизация условий жизни. Большие данные являются лидером в улучшении качества городской жизни. Городские советы полагаются на инструменты BD для мониторинга потока трафика и прогнозирования заторов на дорогах. Датчики потребления электроэнергии и воды помогают сообществам эффективно использовать ресурсы и тратить меньше денег налогоплательщиков на поддержание комфортной среды обитания в умных городах.

  • Торговля и финансы. Большие данные произвели революцию в мире трейдинга. Прямо сейчас большинство процессов торговли акциями основаны на алгоритмах ML — они помогают отслеживать колебания фондового рынка, прогнозировать колебания цен на акции и позволяют инвесторам принимать разумные решения, основанные на данных. Кроме того, большие данные широко используются для поиска перспективных инвестиционных и торговых возможностей.

  • Образование. Использование больших данных в школах и университетах постепенно становится новой нормой. Интеллектуальные системы отслеживания прогресса (подобные той, что внедрена в Университете Тасмании в Австралии) позволяют студентам и преподавателям отслеживать работу в классе, собирать поведенческую информацию, чтобы помочь учащимся разработать эффективный метод обучения, и помогать учителям корректировать свою успеваемость в классе.

  • Развлечения и средства массовой информации. Netflix и Spotify лидируют в области внедрения больших данных в сфере развлечений. Последний полагается на Hadoop (набор инструментов на основе Java) для сбора и обработки информации о пользователях. Возможность анализировать пользовательские данные очень удобна, так как позволяет создавать кураторские ленты треков и способствует более высокой вовлеченности аудитории.

Пример использования Java в больших данных

Нет смысла ходить на цыпочках вокруг того факта, что Python и R являются стандартными языками современных больших данных. Я не буду отрицать тот факт, что большинство инструментов BD имеют API для Python и R, поэтому незнание Java редко бывает незаменимым для специалиста по обработке данных.

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

Вам следует изучить Java для больших данных, если:

  • Вы хотите реализовать теоретическую модель, разработанную на Python. В большинстве команд Java является предпочтительным языком программирования для написания производственного кода, который позволяет использовать и масштабировать алгоритмы BD.
  • Вы хотите интегрировать свой проект с корпоративными инструментами. В мире корпоративных инструментов Java имеет огромное значение. Существует множество инструментов, использующих этот язык, так что, если вы хотите интегрировать свои большие данные с любым из них, изучение основ Java избавит вас от тонны стресса.
  • Вы хотите масштабировать свои проекты. Java помогает специалистам по обработке данных обрабатывать больше данных, поддерживать более высокую нагрузку на прогнозирование и масштабировать сложные экосистемы.
  • Вы хотите адаптировать существующие инструменты корпоративного уровня к конкретному варианту использования.

Почему Специалисты по Обработке Данных Используют Java

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

Лично меня (и многих моих коллег) привлекает Java как в разработке приложений, так и в разработке больших данных по следующим причинам:

  • Широкая база пользователей. Проще говоря, Java популярна среди моих клиентов, поэтому знание того, как использовать ее инструменты, дает мне работу В противном случае меня бы “передали” дальше.
  • Множество обучающих инструментов. Существует множество книг, видеоуроков и обучающих платформ для изучения Java. По сравнению с новыми языками, я чувствую, что изучающие Java имеют более четкое представление о направлении и могут относительно легко создать эффективный метод обучения. Таким образом, изучение Java стоит того, даже если вы не будете использовать его в качестве основного языка в повседневных задачах BD.
  • Java является основой для большинства инструментов обработки больших данных — Hadoop, Spark, Storm, Mahout и других. Поскольку экосистема Hadoop так широко используется в BD, некоторые разработчики заходят так далеко, что говорят, что “Java – ЭТО большие данные”.
  • Scala является родственником Java. Основа Apache Spark — это, по сути, язык, разработанный с использованием JVM. Вот почему изучение Java помогает разработчикам сгладить переход на Scala (однако для большинства это все еще сложно) и стать уверенными пользователями Spark.
  • Java является гибкой, позволяя разработчикам создавать практически безграничный технический стек поверх нее. Я также считаю, что Java получает бонусные баллы благодаря поддержке масштабируемости и многопоточности.

Более пристальный взгляд На Инструменты больших Данных на Базе Java: Hadoop, Spark и больше

Хадуп

Hadoop – это платформа, которая помогает специалистам по обработке данных обрабатывать большие наборы данных. Компании используют этот инструмент для объединения всех внешних данных в одной системе, группировки и категоризации их.

Это основные функции инструмента:

  • Поддержка отработки отказа: обеспечивает безопасную передачу данных между подчиненными машинами в случае, если одна из них завершит работу.
  • Масштабируемость: каждая новая машина может легко стать частью экосистемы Hadoop.
  • Низкая нагрузка на оборудование: по сравнению с другими крупномасштабными решениями BD, Hadoop может работать на машинах более низкого уровня, что позволяет менеджерам компаний и специалистам по обработке данных сократить затраты на оборудование.
  • Локальная обработка данных: экономит полосу пропускания и увеличивает скорость обработки информации.

Есть ли обратная сторона? Много: Hadoop сложно освоить и внедрить, поэтому все большее число специалистов по обработке данных предпочитают переходить к другим инструментам ( согласно статистике , 11% респондентов опроса Gartner заявили, что планируют инвестировать в Hadoop).

Сказав это, спрос на Hadoop по-прежнему не соответствует предложению. На момент написания этой статьи в Indeed насчитывалось около 2500 вакансий для разработчиков Hadoop. Также стоит подумать о зарплатах инженеров Hadoop — согласно ZipRecruiter , средний показатель по стране составляет 125 000 долларов.

Искра

Spark – это универсальный инструмент, который специалисты по обработке данных используют практически для всего: потоковой обработки, аналитики машинного обучения и многих других процессов. Благодаря гибкости, скорости и плавности кривой обучения фреймворк значительно превосходит Hadoop.

Стоит отметить, что Spark построен на Scala, а не на Java (есть Java API, который вы можете интегрировать, чтобы быть полностью удобным). Даже если вы нацелились на изучение Scala, хорошей новостью является то, что между Java и Scala есть много общего — я изложил основные из них ниже.

  • Оба языка основаны на JVM.
  • Обычно используемые Java IDE (например, Eclipse, IntelliJ) поддерживают Scala.
  • Оба являются языками ООП (при этом Scala делает еще один шаг вперед и расширяет свои инструменты также до функционального программирования).
  • Разработчики могут повторно использовать библиотеки Java в Scala и наоборот.

Шторм

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

Storm имеет широкий спектр применений в области больших данных: ETL, непрерывные вычисления, машинное обучение и многое другое.

Основные характеристики фреймворка:

  • Гибкость
  • Отказоустойчивость
  • Масштабируемость
  • Простота настройки. Чтобы понять масштабы внедрения Storm, достаточно взглянуть на некоторых его пользователей: Twitter, Spotify, Alibaba и многих других.

“Spotify предоставляет потоковую музыку более чем 10 миллионам подписчиков и 40 миллионам активных пользователей. Storm предоставляет широкий спектр функций Spotify в режиме реального времени, включая рекомендации по музыке, мониторинг, аналитику и таргетинг рекламы. Вместе с Kafka, memcached, Cassandra и сообщениями на основе netty-smtp Storm позволяет нам с легкостью создавать отказоустойчивые распределенные системы с низкой задержкой”.

  • Команда Spotify по использованию Storm

Изучение Java Для больших данных: С чего начать

Если вам не терпится начать изучать Java, чтобы повысить свою универсальность в качестве специалиста по обработке данных, полезно иметь справочную подборку ресурсов.

Хотя я не большой поклонник одновременного использования нескольких инструментов обучения, я собрал колоду полезных книг, курсов, видеоуроков и тем на форумах для тех, кто хочет изучать Java и использовать его в BD.

Лучшие книги для изучения Java:

  • Введение в программирование на Java и структуры данных — дает краткий обзор алгоритмов, структур данных, сетей и почти всех других концепций Java. Это один из самых полных и полезных ресурсов по программированию, которые я когда-либо читал.
  • Spring в действии — хотя Spring не является Java, разработчики имеют дело с ним в большинстве повседневных задач. Прочтение этого руководства поможет вам получить четкое и актуальное представление о
  • Head First Java — часто используется в качестве учебника на занятиях по программированию, это лучший выбор для студентов, поскольку книга отражает большинство университетских учебных программ.
  • Эффективная Java.
  • Чистый Код: Руководство по гибкому программированию — это не учебник по Java как таковой, но он полезен для ознакомления с лучшими практиками кодирования.

Лучшие курсы для изучения Java:

  • [Codegym](https://

Оригинал: “https://dev.to/selawsky/a-look-at-the-long-lasting-java-and-big-data-relationship-with-a-list-of-resources-data-scientists-can-use-for-java-learning-23ee”