Wie kann SQL unter Hadoop bei der Big Data-Analyse helfen?

Autor: Roger Morrison
Erstelldatum: 19 September 2021
Aktualisierungsdatum: 19 Juni 2024
Anonim
Big Data in 3 Minuten erklärt
Video: Big Data in 3 Minuten erklärt

Inhalt



Quelle: Maciek905 / Dreamstime.com

Wegbringen:

SQL on Hadoop kombiniert diese beiden Methoden der Datenverwaltung zu einem neuen Tool für die Datenanalyse.

SQL on Hadoop ist eine Gruppe analytischer Anwendungstools, die eine SQL-ähnliche Abfrage und Verarbeitung von Daten mit den neuesten Hadoop-Datenframeworkelementen kombinieren. Das Aufkommen von SQL unter Hadoop ist eine wichtige Entwicklung für die Big-Data-Verarbeitung, da es breiteren Personengruppen ermöglicht, erfolgreich mit dem Hadoop-Datenverarbeitungsframework zu arbeiten, indem SQL-Abfragen für die enormen Datenmengen ausgeführt werden, die Hadoop verarbeitet. Offensichtlich war das Hadoop-Framework zuvor nicht so zugänglich für Menschen, insbesondere was die Abfragefunktionen anbelangt. Basierend auf der Entwicklung wurden verschiedene Tools in Arbeit genommen, die versprechen, die Produktivität von Unternehmen bei der Verarbeitung und Analyse von Big Data mit Qualität und Geschwindigkeit zu verbessern. Es ist auch nicht erforderlich, viel in das Erlernen des Tools zu investieren, wie dies bei herkömmlichen SQL-Kenntnissen der Fall sein sollte.


Definition von SQL auf Hadoop

SQL on Hadoop ist eine Gruppe von Anwendungen, mit denen Sie SQL-Abfragen für große Datenmengen ausführen können, die vom Hadoop-Datenverarbeitungsframework gehostet werden. Offensichtlich ist das Abfragen, Abrufen und Analysieren von Daten durch das Hinzufügen von SQL auf Hadoop einfacher geworden. Da SQL ursprünglich für relationale Datenbanken entwickelt wurde, musste es gemäß dem Hadoop 1-Modell, das MapReduce und das Hadoop Distributed File System (HDFS) umfasst, und dem Hadoop 2-Modell, das MapReduce und HDFS nicht enthält, geändert werden.

Eine der frühesten Bemühungen, SQL mit Hadoop zu kombinieren, führte zur Erstellung des Hive-Data-Warehouse mit der HiveQL-Software, mit der SQL-Abfragen in MapReduce-Jobs übersetzt werden konnten. Danach wurden mehrere Anwendungen entwickelt, die ähnliche Aufgaben ausführen konnten. Unter den neueren Werkzeugen sind Drill, BigSQL, HAWQ, Impala, Hadapt, Stinger, H-SQL, Spleißmaschine, Presto, PolyBase, Spark, JethroData, Shark (Hive on Spark) und Tez (Hive on Tez) hervorzuheben.


Wie funktioniert SQL unter Hadoop?

SQL unter Hadoop funktioniert mit Hadoop folgendermaßen:

  • Connectors in der Hadoop-Umgebung übersetzen die SQL-Abfrage in ein MapReduce-Format, damit Hadoop die Abfrage versteht.
  • Pushdown-Systeme führen die SQL-Abfrage innerhalb der Hadoop-Cluster aus.
  • Die Systeme teilen das enorme Volumen an SQL-Abfragen in Abhängigkeit von der Auslastung der Cluster auf MapReduce-HDFS-Cluster auf.

Es scheint, dass die SQL-Abfrage ihre Art nicht ändert. Hadoop passt die Abfrage in ein Format an, das es versteht.

Die wichtigsten Vorteile von SQL auf Hadoop

Wie bereits erwähnt, ist SQL on Hadoop eine wichtige Entwicklung, um die Big-Data-Analyse für mehr Menschen zugänglich zu machen und die Datenanalyse einfacher und schneller zu machen. Es besteht kein Zweifel, dass das Hadoop-Datenframework ein großartiges Tool für die Big-Data-Analyse war, aber es ist nur einer begrenzten Gruppe von Personen zugänglich, nicht nur wegen des enormen Aufwands, der erforderlich ist, um seine einzigartige Architektur zu erlernen, sondern auch, weil es hat Kompatibilitätsprobleme mit anderen Technologien. SQL on Hadoop verspricht, diese Probleme zu beheben.

Jetzt können mehr Benutzer auf Hadoop zugreifen

Es scheint, dass SQL in Hadoop Hadoop in dem Sinne egalitärer gemacht hat, dass breitere Personengruppen Hadoop jetzt zur Verarbeitung und Analyse von Daten verwenden können. Um Hadoop nutzen zu können, mussten Sie Kenntnisse über die Hadoop-Architektur haben - MapReduce, Hadoop Distributed File System oder HBase. Jetzt können Sie nahezu jedes Analyse- oder Berichterstellungstool anschließen und auf die Daten zugreifen und sie analysieren.Dank SQL on Hadoop sind jetzt eine Reihe von SQL on Hadoop-Engines wie Cloudera Impala, Concurrent Lingual, Hadapt, CitusDB, InfiniDB, MammothDB, MemSQL, Pivotal HAWQ, Apache Drill, ScleraDB, Progress DataDirect, Simba und Splice Machine im Handel erhältlich zur Verwendung mit Big Data. Offensichtlich hat dies Hadoop für ein breiteres Publikum geöffnet, das nun damit rechnen kann, seine Rendite für Big Data zu steigern.

Das Analysieren von Big Data mit Hadoop ist jetzt einfacher

Jetzt müssen Sie nur noch die gute alte SQL-Abfrage für die Big Data ausführen, um Daten abzurufen und zu analysieren. SQL hat sich von einem relationalen Datenbanktool zu einem Big-Data-Analysetool entwickelt, was in der Tat eine bedeutende Änderung darstellt. Sie müssen sich keine Sorgen machen, wie Hadoop die Abfragen verarbeitet - es hat seine eigene Art, die SQL-Abfragen zu interpretieren und Ihnen die Ergebnisse zu liefern. Experten gehen davon aus, dass das verteilte Hadoop-Dateisystem zwar Commodity-Cluster für die parallele Verarbeitung von Big Data enthält, seine Verarbeitungsfunktionen jedoch verbessern kann, wenn es mit interaktiven Abfragen im SQL-Stil arbeitet. Bevor das HDFS mit SQL kombiniert wurde, dauerte es lange, Daten mit dem HDFS zu verarbeiten, und die Aufgabe erforderte spezialisierte Datenwissenschaftler. Und die Abfragen waren nicht interaktiv. Mit dem Apache Tez-Framework, das die Spark-Analyse-Engine und den interaktiven Stinger-Abfragebeschleuniger für das Hive-Data-Warehouse umfasst, wurden diese Probleme behoben. Anu Jain, Gruppenleiter für Strategie und Architektur beim Einzelhändler Target Corporation, erklärt: „Es ist sehr wichtig, dass wir den Benutzern interaktiven Zugriff auf Abfragen gewähren. Mit Tez sind wir in der Lage, diese Fähigkeit für das Unternehmen bereitzustellen. “

Keine Bugs, kein Stress - Ihre schrittweise Anleitung zur Erstellung lebensverändernder Software, ohne Ihr Leben zu zerstören


Sie können Ihre Programmierkenntnisse nicht verbessern, wenn sich niemand um die Softwarequalität kümmert.

Die Popularität interaktiver Analysen bei Hadoop-Benutzern hat zugenommen, wie eine Gartner-Umfrage ergab. Laut der Umfrage verwenden 32% der Befragten Schnittstellen von Drittanbietern mit HDFS oder HBase, 27% verwenden selbst erstellte Abfragen über Hive, während 23% verteilungsspezifische Hadoop-Tools wie Cloudera Impala und Pivotal HAWQ verwenden.

Eine andere Perspektive auf SQL in Hadoop

SQL unter Hadoop wird anscheinend viele Probleme lösen, die wir mit Hadoop haben. Es gibt jedoch auch eine andere Ansicht, nach der SQL viele Probleme haben könnte, insbesondere wenn es mit Hadoop kombiniert wird. Nach dieser Auffassung ist SQL als Analysewerkzeug für Big Data vielleicht doch nicht so effizient. Laut John Williams, User Panelist bei Hadoop Summit, ist SQL möglicherweise nicht das beste Analysetool, um mit Big Data zu arbeiten. Laut Williams, Senior Vice President für den Plattformbetrieb von TrueCar, das Benutzern eine Online-Plattform für den Autokauf bietet, ist die SQL-Ausführungszeit für einen großen Datensatz langsam. In der Zwischenzeit wird Hadoop in SQL mit Dingen wie YARN und Tez immer schneller. "

Und das ist nicht das einzige Problem mit SQL. Bei der Kombination von SQL mit Hadoop müssen Sie eine Menge Overhead-Aufgaben wie Datenstudien, Schemaerstellung, Index- und Abfrageerstellung und -normalisierung erledigen, und Sie müssen möglicherweise viel Zeit und Mühe aufwenden. Nach all diesen Bemühungen gibt es keine Garantie dafür, dass Sie dauerhaft etwas erreicht haben. Wenn sich die Anwendung ändert, müssen Sie möglicherweise die bereits vorgenommenen Änderungen wiederholen. Anstelle von SQL sollte eine Entwicklung mit Schwerpunkt auf großen Datenmengen auf der Basis von Java und Python erfolgen, da diese Sprachen besser für die unstrukturierte Datenverarbeitung geeignet sind.

Fazit

Die Jury ist sich noch nicht sicher, ob SQL unter Hadoop die Antwort auf die Probleme der Benutzer von Hadoop ist. Die Branche braucht jedoch eindeutig eine bessere Alternative zu Hadoops eigenen Datenabfragefunktionen, und diese Alternative muss interaktiv sein. SQL on Hadoop-Tools bieten eine interaktive Analyse, die nützlich ist. Unternehmen möchten keine Zeit damit verschwenden, komplizierte, zeitaufwändige Analysen sinnvoll zu gestalten. Derzeit halten Unternehmen SQL in Hadoop-Tools für sehr nützlich.