Der Lernweg von Big Data ist wie folgt:
java(Java se,javaweb)
Linux(shell , Architektur mit hoher Parallelität, Lucene, Solr)
Hadoop (Hadoop, HDFS, Mapreduce, Garn, Hive, Hbase, Sqoop, Zookeeper, Flume)
Maschinelles Lernen (R, Mahout)
Storm(Storm,kafka,redis)
Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)
Python(python,spark python)
Cloud-Computing-Plattform (Docker, KVM, OpenStack)
Begriffserklärung
1. Linux
lucene: full -Textsuchmaschinenarchitektur
solr: Ein auf Lucene basierender Volltextsuchserver, der konfigurierbar und skalierbar ist, die Abfrageleistung optimiert und eine vollständige Funktionsverwaltungsschnittstelle bietet.
2. Hadoop
HDFS: Verteiltes Speichersystem, einschließlich NameNode, DataNode. NameNode: Metadaten, DataNode. DataNode: speichert Daten.
Garn: Es kann als Koordinationsmechanismus von MapReduce verstanden werden, bei dem es sich im Wesentlichen um den Verarbeitungs- und Analysemechanismus von Hadoop handelt, der in ResourceManager und NodeManager unterteilt ist.
MapReduce: Software-Framework zum Schreiben von Programmen.
Hive: Data Warehouse kann mit SQL abgefragt werden und kann Map/Reduce-Programme ausführen. Wird zur Berechnung von Trends oder Website-Protokollen verwendet und sollte nicht für Echtzeitabfragen verwendet werden, da die Rückgabe von Ergebnissen lange dauert.
HBase: Datenbank. Es eignet sich sehr gut für die Echtzeitabfrage großer Datenmengen. Facebook verwendet Hbase, um Nachrichtendaten zu speichern und Echtzeitanalysen von Nachrichten durchzuführen
ZooKeeper: Ein zuverlässiges Koordinationssystem für die Verteilung in großem Maßstab. Die verteilte Synchronisierung von Hadoop wird von Zookeeper implementiert, z. B. mehrere NameNodes und aktives Standby-Switching.
Sqoop: Datenbanken untereinander, relationale Datenbanken und HDFS untereinander übertragen
Mahout: Skalierbare Bibliothek für maschinelles Lernen und Data Mining. Wird für Empfehlungs-Mining, Aggregation, Klassifizierung und häufiges Item-Set-Mining verwendet.
Chukwa: Ein Open-Source-Sammlungssystem, das große verteilte Systeme überwacht, basierend auf HDFS- und Map/Reduce-Frameworks. Ergebnisse anzeigen, überwachen und analysieren.
Ambari: Wird zur Konfiguration, Verwaltung und Überwachung von Hadoop-Clustern verwendet, webbasiert und benutzerfreundlich.
2. Cloudera
Cloudera Manager: Management-Überwachung und Diagnoseintegration
Cloudera CDH: (Clouderas Distribution, einschließlich Apache Hadoop) Cloudera hat entsprechende Änderungen an Hadoop vorgenommen Release-Version namens CDH.
Cloudera Flume: Das Protokollerfassungssystem unterstützt die Anpassung verschiedener Datensender im Protokollsystem zur Datenerfassung.
Cloudera Impala: Bietet direkte Abfrage und interaktives SQL für Daten, die in HDFS und HBase von Apache Hadoop gespeichert sind.
Cloudera hue: Webmanager, einschließlich hue ui, hui server, hui db. Hue bietet Shell-Schnittstellenschnittstellen für alle CDH-Komponenten und mr kann in Hue geschrieben werden.
3. Maschinelles Lernen/R
R: Sprache und Betriebsumgebung für statistische Analysen und Grafiken. Derzeit bietet Hadoop-R skalierbare Maschinen Algorithmen im Lernbereich, einschließlich Clustering, Klassifizierung, Empfehlungsfilterung, häufiges Unterelement-Mining usw., und können über Hadoop auf die Cloud erweitert werden.
4. Storm
Storm: ein verteiltes, fehlertolerantes Echtzeit-Streaming-Computing-System, das für Echtzeitanalyse, Online-Maschinenlernen, Informationsflussverarbeitung, kontinuierliches Computing verwendet werden kann, verteiltes RPC, Verarbeiten von Nachrichten und Aktualisieren der Datenbank in Echtzeit.
Kafka: Ein verteiltes Publish-Subscribe-Messagingsystem mit hohem Durchsatz, das alle Aktions-Streaming-Daten (Browsing, Suche usw.) auf Websites im Verbrauchermaßstab verarbeiten kann. Im Vergleich zu den Protokolldaten und der Offline-Analyse von Hadoop kann eine Echtzeitverarbeitung erreicht werden. Derzeit wird der parallele Lademechanismus von Hadoop verwendet, um die Online- und Offline-Nachrichtenverarbeitung zu vereinheitlichen
Redis: In C-Sprache geschrieben, unterstützt es das Netzwerk, ist eine Protokolltyp-Schlüsselwertdatenbank, die speicherbasiert sein kann und hartnäckig.
5. Spark
Scala: Eine vollständig objektorientierte Programmiersprache ähnlich wie Java.
jblas: Eine schnelle lineare Algebra-Bibliothek (JAVA). Die ATLAS ART-Implementierung basiert auf BLAS und LAPACK, dem De-facto-Industriestandard für Matrixberechnungen, und nutzt eine fortschrittliche Infrastruktur für alle Berechnungsverfahren, was sie sehr schnell macht.
Spark: Spark ist ein allgemeines paralleles Framework, das in der Scala-Sprache implementiert ist. Zusätzlich zu den Vorteilen von Hadoop MapReduce unterscheidet es sich von MapReduce dadurch, dass die Zwischenausgabeergebnisse von Jobs gespeichert werden können Speicher, also Es ist nicht erforderlich, HDFS zu lesen oder zu schreiben, daher eignet sich Spark besser für MapReduce-Algorithmen, die eine Iteration erfordern, wie z. B. Data Mining und maschinelles Lernen. Es kann parallel zum Hadoop-Dateisystem betrieben werden. Cluster-Frameworks von Drittanbietern, die Mesos verwenden, können dieses Verhalten unterstützen.
Spark SQL: Als Teil des Apache Spark Big Data Frameworks kann es für die strukturierte Datenverarbeitung verwendet werden und SQL-ähnliche Spark-Datenabfragen durchführen
Spark Streaming: eine Echtzeitlösung Das auf Spark basierende Computing-Framework erweitert die Fähigkeit von Spark, Big-Data-Streaming-Daten zu verarbeiten.
Spark MLlib: MLlib ist die Implementierungsbibliothek von Spark für häufig verwendete Algorithmen für maschinelles Lernen. Derzeit (2014.05) unterstützt sie binäre Klassifizierung, Regression, Clustering und kollaborative Filterung. Es enthält auch einen grundlegenden Algorithmus zur Optimierung des Gradientenabstiegs auf niedriger Ebene. MLlib basiert auf der linearen Algebra-Bibliothek jblas und jblas selbst basiert auf dem Remote-Fortran-Programm.
Spark GraphX: Graph .
Fortran: Die früheste High-Level-Computerprogrammiersprache, die in wissenschaftlichen und technischen Informatikbereichen weit verbreitet ist.
BLAS: Grundlegende Unterprogrammbibliothek für lineare Algebra mit einer großen Anzahl bereits geschriebener Programme für lineare Algebraoperationen.
LAPACK: Bekannte offene Software, einschließlich der Lösung der häufigsten Probleme der numerischen linearen Algebra in wissenschaftlichen und technischen Berechnungen, wie z. B. der Lösung linearer Gleichungen, linearer Probleme der kleinsten Quadrate, Eigenwertproblemen und Singularwertproblemen usw.
ATLAS: Eine optimierte Version der BLAS-Bibliothek für lineare Algorithmen.
Spark Python: Spark ist in der Scala-Sprache geschrieben, aber zur Förderung und Kompatibilität werden Java- und Python-Schnittstellen bereitgestellt.
6. Python
Python: eine objektorientierte, interpretierte Computerprogrammiersprache.
7. Cloud-Computing-Plattform
Docker: Open-Source-Anwendungscontainer-Engine
kvm: (Tastatur-Video-Maus)
OpenStack: Open-Source-Cloud-Computing-Management Plattformprojekt
Das obige ist der detaillierte Inhalt vonWas ist der klassische Lernweg für Big Data?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!