Devo imparare Hadoop come scienziato dei dati?


38

Un aspirante scienziato di dati qui. Non so nulla di Hadoop, ma mentre leggo di Data Science e Big Data, vedo molto parlare di Hadoop. È assolutamente necessario imparare Hadoop come scienziato dei dati?


1
Questa classe di domande è in discussione su meta. Puoi esprimere la tua opinione su questo meta post.
asheeshr,

Non è assolutamente necessario È solo uno degli strumenti. Ciò che è necessario è una comprensione delle statistiche e dell'algebra lineare. La scelta dello strumento è secondaria.
Victor,

Guarda questo e-book gratuito e cerca di rispondere alla tua domanda. oreilly.com/data/free/files/analyzing-the-analyzers.pdf
Espanta

Ho una domanda simile su IBM Watson Analytics, Google Bigquery e altre analisi basate sul cloud: queste tecnologie sono meglio di Hadoop e scintilla ..... Sto solo iniziando a imparare Hadoop e scintilla e devo davvero imparare Hadoop e scintilla fare analisi di big data

Risposte:


47

Persone diverse usano strumenti diversi per cose diverse. Termini come Data Science sono generici per un motivo. Uno scienziato di dati potrebbe trascorrere un'intera carriera senza dover imparare uno strumento particolare come hadoop. Hadoop è ampiamente utilizzato, ma non è l'unica piattaforma in grado di gestire e manipolare dati, anche su larga scala.

Direi che uno scienziato di dati dovrebbe avere familiarità con concetti come MapReduce, sistemi distribuiti, file system distribuiti e simili, ma non giudicherei qualcuno per non conoscere tali cose.

È un grande campo. C'è un mare di conoscenze e la maggior parte delle persone è in grado di apprendere ed essere un esperto in una sola goccia. La chiave per essere uno scienziato è avere il desiderio di imparare e la motivazione per sapere ciò che non si conosce già.

Ad esempio: ho potuto consegnare alla persona giusta un centinaio di file CSV strutturati contenenti informazioni sulle prestazioni della classe in una classe particolare nell'arco di un decennio. Uno scienziato di dati sarebbe in grado di passare un anno a raccogliere informazioni dai dati senza mai dover diffondere il calcolo su più macchine. Potresti applicare algoritmi di apprendimento automatico, analizzarli utilizzando visualizzazioni, combinarli con dati esterni sulla regione, la composizione etnica, i cambiamenti nell'ambiente nel tempo, informazioni politiche, modelli meteorologici, ecc. Tutto ciò sarebbe "scienza dei dati" secondo me . Potrebbe essere necessario qualcosa come hadoop per testare e applicare tutto ciò che hai imparato ai dati che comprendono un intero paese di studenti piuttosto che solo una classe, ma quel passaggio finale non necessariamente rende qualcuno uno scienziato di dati.


10

Come ex ingegnere Hadoop, non è necessario ma aiuta. Hadoop è solo un sistema: il sistema più comune, basato su Java, e un ecosistema di prodotti, che applicano una particolare tecnica "Mappa / Riduci" per ottenere risultati in modo tempestivo. Hadoop non viene utilizzato da Google, anche se ti assicuro che usano l'analisi dei big data. Google utilizza i propri sistemi, sviluppati in C ++. In effetti, Hadoop è stato creato a seguito della pubblicazione da parte di Google dei loro white paper Map / Reduce e BigTable (HBase in Hadoop).

I data scientist si interfacciano con gli ingegneri hadoop, anche se in luoghi più piccoli potrebbe essere richiesto di indossare entrambi i cappelli. Se sei rigorosamente un esperto di dati, qualunque cosa tu usi per la tua analisi, R, Excel, tableau, ecc., Funzionerà solo su un piccolo sottoinsieme, quindi dovrà essere convertito per funzionare con l'intero set di dati che coinvolge hadoop.


8

Devi prima chiarire cosa intendi con "impara Hadoop". Se intendi usare Hadoop, come imparare a programmare in MapReduce, molto probabilmente è una buona idea. Ma le conoscenze fondamentali (database, machine learning, statistiche) possono giocare un ruolo più importante col passare del tempo.


Apparentemente la maggior parte delle persone utilizza Hadoop per l'analisi. Quello che sto pensando è che ho bisogno di qualcosa del genere o la conoscenza di database, ML, statistiche è sufficiente?
Pensu,

5

Sì, dovresti imparare una piattaforma in grado di sezionare il tuo problema come problema parallelo dei dati. Hadoop è uno. Per le tue semplici esigenze (modelli di progettazione come conteggio, aggregazione, filtro ecc.) Hai bisogno di Hadoop e per cose di Machine Learning più complesse come fare Bayesian, SVM hai bisogno di Mahout che a sua volta ha bisogno di Hadoop (Now Apache Spark) per risolvere il tuo problema usando un approccio parallelo ai dati.

Quindi Hadoop è una buona piattaforma da imparare e molto importante per le tue esigenze di elaborazione batch. Non solo Hadoop, ma devi anche conoscere Spark (Mahout esegue i suoi algoritmi utilizzando Spark) e Twitter Storm (per le tue esigenze di analisi in tempo reale). Questo elenco continuerà e si evolverà, quindi se sei bravo con i blocchi costitutivi (calcolo distribuito, problemi di dati paralleli e così via) e sai come funziona una di queste piattaforme (diciamo Hadoop), sarai abbastanza rapidamente aggiornato sugli altri.


4

Dipende fortemente dall'ambiente / azienda con cui stai lavorando. Ai miei occhi al momento c'è un clamore sui "big data" e molte aziende cercano di entrare nel campo con soluzioni basate su hadoop - ciò che rende anche hadoop una parola d'ordine ma non è sempre la soluzione migliore.

Nella mia mente, un bravo scienziato dei dati dovrebbe essere in grado di porre le domande giuste e continuare a porre di nuovo fino a quando non sarà chiaro ciò che è realmente necessario. Di un buon DataScientist - ovviamente - deve sapere come affrontare il problema (o almeno conoscere qualcuno che può). Altrimenti il ​​tuo stakeholder potrebbe essere frustrato :-)

Quindi, direi che non è assolutamente necessario imparare Hadoop.



2

È possibile applicare tecniche di data science ai dati su una macchina in modo che la risposta alla domanda come formulata dall'OP, sia no.


1

La scienza dei dati è un campo che richiede una varietà di competenze. Avere conoscenza di Hadoop è uno di questi. I compiti principali di un Data Scientist includono:

  1. Raccolta di dati da diverse risorse.
  2. Pulizia e pre-elaborazione dei dati.
  3. Studio delle proprietà statistiche dei dati.
  4. Utilizzo delle tecniche di Machine Learning per fare previsioni e ricavare informazioni dettagliate dai dati.
  5. Comunicare i risultati ai decisori in modo facile da capire.

Tra i punti di cui sopra, la conoscenza di Hadoop è utile per i punti 1,2 e 3, ma è necessario disporre anche di un forte background matematico / statistico e di una solida conoscenza delle tecniche computazionali per lavorare nel campo della scienza dei dati. Inoltre, Hadoop non è l'unico framework utilizzato in Data Science. L'ecosistema Big Data ha una gamma di framework, ciascuno specifico per un caso d'uso specifico. Questo articolo fornisce materiale introduttivo sui principali framework di Big Data che potrebbero essere utilizzati in Data Science:

http://www.codophile.com/big-data-frameworks-every-programmer-should-know/


1

Penso che il framework Leaning Hadoop (difficile) non sia un requisito per essere un Data Scientist. La conoscenza generale su tutte le piattaforme di big data è essenziale. Suggerirò di conoscerne l'idea e solo una parte di Hadoop è MapReduce http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html

Uno scienziato dei dati non crea cluster, non gestisce ... è solo "magico" con i dati e non gli importa da dove provenga. Il termine "Hadoop" è venuto a riferirsi non solo ai moduli di base sopra, ma anche all '"ecosistema", o raccolta di pacchetti software aggiuntivi che possono essere installati sopra o accanto a Hadoop, come Apache Pig, Apache Hive, Apache HBase, Apache Spark e altri.

Il più importante è il linguaggio di programmazione, la matematica e le statistiche per lavorare con i dati (dovrai trovare un modo per connetterti con i dati e andare avanti). Vorrei avere qualcuno che mi indicasse il concetto e non passasse settimane sull'apprendimento del framework e costruisse da zero nodi e cluster, perché quella parte è il ruolo di amministratore e non di Data Engineer o Data Scientist. Anche una cosa: tutti stanno cambiando ed evolvendo, ma la matematica, la programmazione, le statistiche sono ancora i requisiti.

l'accesso ai dati da hdfs è essenziale, ad esempio PROC Hadoop, Hive, SparkContext o qualsiasi altro driver o pipe (considera hadoop come un punto di accesso ai dati o di archiviazione :)

sono già in atto strumenti o framework che si occupano dell'allocazione e della gestione delle risorse, delle prestazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.