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