Стремящийся ученый данных здесь. Я ничего не знаю о Hadoop, но, поскольку я читал о Data Science и Big Data, я вижу много разговоров о Hadoop. Обязательно ли учить Hadoop быть специалистом по данным?
Стремящийся ученый данных здесь. Я ничего не знаю о Hadoop, но, поскольку я читал о Data Science и Big Data, я вижу много разговоров о Hadoop. Обязательно ли учить Hadoop быть специалистом по данным?
Ответы:
Разные люди используют разные инструменты для разных вещей. Такие термины, как Data Science, являются общими по определенной причине. Специалист по данным может провести всю карьеру, не изучая какой-либо инструмент, такой как hadoop. Hadoop широко используется, но это не единственная платформа, которая способна управлять и манипулировать данными, даже крупномасштабными данными.
Я бы сказал, что специалист по данным должен быть знаком с такими понятиями, как MapReduce, распределенные системы, распределенные файловые системы и тому подобное, но я бы не стал судить кого-то, кто не знает о таких вещах.
Это большое поле. Существует море знаний, и большинство людей способны учиться и быть экспертом в одной капле. Ключом к тому, чтобы быть ученым, является желание учиться и мотивация узнать то, чего вы еще не знаете.
В качестве примера: я мог бы передать нужному человеку сто структурированных CSV-файлов, содержащих информацию о показателях работы в классе в одном конкретном классе за десятилетие. Специалист по обработке данных мог бы потратить год на то, чтобы получить представление о данных, не прибегая к распределению вычислений между несколькими машинами. Вы можете применять алгоритмы машинного обучения, анализировать их с помощью визуализаций, комбинировать их с внешними данными о регионе, этнической структуре, изменениях среды с течением времени, политической информацией, погодными условиями и т. Д. Все это, на мой взгляд, будет «наукой о данных» , Может потребоваться что-то вроде hadoop, чтобы протестировать и применить все, что вы узнали, к данным, охватывающим целую страну студентов, а не просто классную комнату, но этот последний шаг не обязательно делает кого-то ученым данными.
Как бывший инженер Hadoop, он не нужен, но помогает. Hadoop - это всего лишь одна система - самая распространенная система, основанная на Java, и экосистема продуктов, которые применяют определенный метод «Map / Reduce» для своевременного получения результатов. Hadoop не используется в Google, хотя, уверяю вас, они используют аналитику больших данных. Google использует собственные системы, разработанные на C ++. Фактически, Hadoop был создан в результате публикации Google своих официальных документов Map / Reduce и BigTable (HBase in Hadoop).
Специалисты по обработке данных будут взаимодействовать с инженерами Hadoop, хотя в небольших местах может потребоваться носить обе шляпы. Если вы строго специалист по данным, то все, что вы используете для своей аналитики, R, Excel, Tableau и т. Д., Будет работать только на небольшом подмножестве, а затем потребуется преобразовать его для работы с полным набором данных, включающим hadoop.
Вы должны сначала прояснить, что вы подразумеваете под «учиться Hadoop». Если вы имеете в виду использование Hadoop, например, обучение программированию в MapReduce, то, скорее всего, это хорошая идея. Но фундаментальные знания (база данных, машинное обучение, статистика) могут играть большую роль с течением времени.
Да, вы должны изучить платформу, способную анализировать вашу проблему как проблему параллельных данных. Hadoop один. Для ваших простых потребностей (шаблонов проектирования, таких как подсчет, агрегация, фильтрация и т. Д.) Вам нужен Hadoop, а для более сложных задач машинного обучения, таких как Bayesian, SVM, вам нужен Mahout, который, в свою очередь, нуждается в Hadoop (теперь Apache Spark), чтобы решить вашу проблему с помощью параллельный к данным подход.
Таким образом, Hadoop является хорошей платформой для обучения и действительно важна для ваших задач пакетной обработки. Не только Hadoop, но вам также нужно знать Spark (Mahout запускает свои алгоритмы с использованием Spark) и Twitter Storm (для ваших аналитических нужд в реальном времени). Этот список будет продолжаться и развиваться, поэтому, если вы хорошо разбираетесь в стандартных блоках (распределенные вычисления, параллельные проблемы с данными и т. Д.) И знаете, как работает одна из таких платформ (например, Hadoop), вы довольно быстро освоите другие.
Это сильно зависит от среды / компании, с которой вы работаете. На мой взгляд, в настоящий момент на слуху «большие данные», и многие компании пытаются выйти на поле с решениями на основе hadoop - что делает hadoop также модным словом, но не всегда лучшим решением.
На мой взгляд, хороший Data Scientist должен уметь задавать правильные вопросы и продолжать задавать вопросы до тех пор, пока не станет ясно, что действительно нужно. Чем хороший DataScientist - конечно - должен знать, как решить проблему (или, по крайней мере, знать кого-то, кто может). В противном случае ваш участник может быть разочарован :-)
Так что я бы сказал, что изучать Hadoop не обязательно.
Вам следует изучить Hadoop, если вы хотите работать в качестве специалиста по данным, но, возможно, прежде чем начинать с Hadoop, вам следует прочитать кое-что об ETL или больших данных ... эта книга может стать хорошей отправной точкой: http://www.amazon.com / Big-Data-принципы-практика масштабируемый / дп / 1617290343
Надеюсь, это поможет и удачи!
Вы можете применять методы науки о данных к данным на одной машине, поэтому ответ на вопрос, сформулированный ОП, - нет.
Наука о данных - это область, требующая разнообразных навыков. Знание Hadoop является одним из них. Основные задачи Data Scientist включают в себя:
Из вышеперечисленных пунктов знание Hadoop полезно для пунктов 1, 2 и 3, но вам также необходимо иметь сильные математические / статистические знания и глубокие знания вычислительных методов для работы в области науки о данных. Также Hadoop - не единственная платформа, которая используется в науке о данных. Экосистема больших данных имеет ряд структур, каждая из которых специфична для конкретного варианта использования. В этой статье представлен вводный материал, касающийся основных платформ больших данных, которые можно использовать в науке о данных:
http://www.codophile.com/big-data-frameworks-every-programmer-should-know/
Я думаю, что структура Leaning Hadoop (сложный путь) не является обязательным требованием быть специалистом по данным. Общие знания о всех платформах больших данных очень важны. Я предложу ознакомиться с концепцией, и в Hadoop нужна только часть, это MapReduce http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html.
Data Scientist не строит кластер, не администрирует ... он просто «фокусируется» на данных, и ему все равно, откуда они. Термин «Hadoop» относится не только к базовым модулям выше, но также к «экосистеме» или совокупности дополнительных пакетов программного обеспечения, которые могут быть установлены поверх или рядом с Hadoop, таких как Apache Pig, Apache Hive, Apache HBase, Apache Spark и другие.
Наиболее важным является язык программирования, математика и статистика для работы с данными (вам нужно найти способ связи с данными и двигаться вперед). Хотелось бы, чтобы у меня был кто-то, кто мог бы указать мне на концепцию и не тратить недели на изучение инфраструктуры и сборку с нуля узлов и кластеров, потому что эта часть - роль администратора, а не инженера данных или ученого данных. Также одно: все меняется и развивается, но математика, программирование, статистика все еще являются требованиями.
очень важен доступ к данным из hdf, например, PROC Hadoop, Hive, SparkContext или любой другой драйвер или канал (обрабатывайте hadoop как точку доступа к данным или хранилищу :)
уже есть инструменты или структуры, которые заботятся о распределении ресурсов и управлении, производительности.