PySpark Dataframe Tutorial - PySpark-Programmierung mit Dataframes



In diesem PySpark Dataframe-Tutorial-Blog erfahren Sie anhand mehrerer Beispiele mehr über Transformationen und Aktionen in Apache Spark.

Dataframes sind heutzutage ein Schlagwort in der Branche. Die Leute neigen dazu, es mit populären Sprachen zu verwenden, die für die Datenanalyse verwendet werden, wie Python, Scala und R.Mit der offensichtlichen Notwendigkeit, komplexe Analyse- und Munging-Aufgaben für Big Data, Python für Spark oder zu erledigen ist heute zu einer der gefragtesten Fähigkeiten in der Branche geworden.Warum wird es von allen so oft benutzt? Lassen Sie uns dies mit unserem verstehen PySpark Dataframe Tutorial Blog. In diesem Blog werde ich folgende Themen behandeln:





PySpark Dataframe Tutorial: Was sind Dataframes?

Datenrahmen beziehen sich im Allgemeinen auf eine Datenstruktur, die tabellarischer Natur ist. Es stellt Zeilen dar, von denen jede aus einer Reihe von Beobachtungen besteht. Zeilen können verschiedene Datenformate haben ( Heterogen ), während eine Spalte Daten desselben Datentyps enthalten kann ( Homogen ). Datenrahmen enthalten normalerweise einige Metadaten zusätzlich zu Daten, z. B. Spalten- und Zeilennamen.

Dataframe-Pyspark-Dataframe-Tutorial



Wir können sagen, dass Datenrahmen nichts anderes als eine zweidimensionale Datenstruktur sind, ähnlich einer SQL-Tabelle oder einer Tabelle. Fahren wir nun mit diesem PySpark Dataframe-Tutorial fort und verstehen, warum genau wir Pyspark Dataframe benötigen.

Warum brauchen wir Dataframes?

1. Strukturierte und halbstrukturierte Daten verarbeiten



Datenrahmensind für die Verarbeitung ausgelegtzu groß Sammlung von strukturierten sowie halbstrukturierten Daten . Beobachtungen in Spark DataFrame sind in benannten Spalten organisiert, wodurch Apache Spark das Schema eines DataFrame besser verstehen kann. Dies hilft Spark, den Ausführungsplan für diese Abfragen zu optimieren. Es kann auch damit umgehen Petabyte von Dateien.

2.S. Lizenzierung und Würfeln

Datenrahmen A.PIs unterstützen normalerweise ausgefeilte Methoden für Häppchen die Daten. Es enthältOperationns wie das „Auswählen“ von Zeilen, Spalten und Zellen nach Name oder Nummer, Herausfiltern von Zeilen usw. Statistische Daten sind normalerweise sehr unübersichtlich und enthalten viele fehlende und falsche Werte und Bereichsverletzungen. Ein kritisch wichtiges Merkmal von Datenrahmen ist daher die explizite Verwaltung fehlender Daten.

3. Datenquellen

DataFrame unterstützt eine Vielzahl von Datenformaten und -quellen. Wir werden dies später in diesem Pyspark Dataframe-Tutorial-Blog untersuchen. Sie können Daten aus verschiedenen Quellen aufnehmen.

4. Unterstützung für mehrere Sprachen

Es bietet API-Unterstützung für verschiedene Sprachen wie Python, R, Scala, Java,Dies erleichtert die Verwendung durch Personen mit unterschiedlichem Programmierhintergrund.

Abonniere unseren Youtube-Kanal, um neue Updates zu erhalten ..!

Funktionen von Datenrahmen

  • Datenrahmen sind Verteilt in der Natur, was es fehlertolerant und hochverfügbare Datenstruktur macht.
  • Faule Bewertung ist eine Bewertungsstrategie, die die Bewertung eines Ausdrucks so lange enthält, bis sein Wert benötigt wird. Eine wiederholte Auswertung wird vermieden. Eine verzögerte Auswertung in Spark bedeutet, dass die Ausführung erst gestartet wird, wenn eine Aktion ausgelöst wird. In Spark entsteht das Bild einer verzögerten Auswertung, wenn Spark-Transformationen auftreten.
  • Datenrahmen sind Unveränderlich in der Natur. Mit unveränderlich meine ich, dass es ein Objekt ist, dessen Zustand kann nicht geändert werden nachdem es erstellt wurde.Aber wir können uns verwandelnes istWerte durch Anwendenein bestimmterTransformation, wie in RDDs.

PySpark-Datenrahmenquellen

Datenrahmen in Pyspark können auf verschiedene Arten erstellt werden:

Daten können über a geladen werden CSV, JSON, XML oder eine Parkettdatei. Es kann auch mit einem vorhandenen erstellt werden RDD und durch jede andere Datenbank, wie Bienenstock oder Kassandra auch. Es kann auch Daten von HDFS oder dem lokalen Dateisystem aufnehmen.

Datenrahmenerstellung

Lassen Sie uns mit diesem PySpark Dataframe Tutorial-Blog fortfahren und verstehen, wie Sie Dataframes erstellen.

Wir erstellen Mitarbeiter- und Abteilungsinstanzen.

aus pyspark.sql importieren * Mitarbeiter = Zeile ('Vorname', 'Nachname', 'E-Mail', 'Gehalt') Mitarbeiter1 = Mitarbeiter ('Basher', 'Armbrust', 'bash@edureka.co', 100000) Mitarbeiter2 = Mitarbeiter ('Daniel', 'meng', 'daniel@stanford.edu', 120000) Mitarbeiter3 = Mitarbeiter ('Muriel', Keine, 'muriel@waterloo.edu', 140000) Mitarbeiter4 = Mitarbeiter ('Rachel', 'Wendell ',' rach_3@edureka.co ', 160000) employee5 = Mitarbeiter (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) print (Mitarbeiter [0]) print (Mitarbeiter3) Abteilung1 = Zeile (ID = '123456', Name = 'HR') Abteilung2 = Zeile (ID = '789012', Name = 'OPS') Abteilung3 = Zeile (ID = '345678', Name = 'FN') Abteilung4 = Zeile (ID = ' 901234 ', name =' DEV ')

Als Nächstes erstellen wir eine DepartmentWithEmployees-Instanz aus den Mitarbeitern und Abteilungen

AbteilungWithEmployees1 = Zeile (Abteilung = Abteilung1, Mitarbeiter = [Mitarbeiter1, Mitarbeiter2, Mitarbeiter5]) AbteilungWithEmployees2 = Zeile (Abteilung = Abteilung2, Mitarbeiter = [Mitarbeiter3, Mitarbeiter4]) AbteilungWithEmployees3 = Zeile (Abteilung = Abteilung3, Mitarbeiter = [Mitarbeiter1, Mitarbeiter4, Mitarbeiter3] ]) departmentWithEmployees4 = Zeile (Abteilung = Abteilung4, Mitarbeiter = [Mitarbeiter2, Mitarbeiter3])

Erstellen wir unseren Datenrahmen aus der Liste der Zeilen

AbteilungenWithEmployees_Seq = [AbteilungWithEmployees1, AbteilungWithEmployees2] dframe = spark.createDataFrame (AbteilungenWithEmployees_Seq) Anzeige (dframe) dframe.show ()

Pyspark Dataframes Beispiel 1: FIFA WM-Datensatz

Hier haben wir den FIFA World Cup Players Dataset aufgenommen. Wir werden diese Daten im CSV-Format ladenin einDatenrahmen und dann lernen wir die verschiedenen Transformationen und Aktionen kennen, die für diesen Datenrahmen ausgeführt werden können.

Daten aus CSV-Datei lesen

Laden wir die Daten aus einer CSV-Datei. Hier werden wir die verwenden spark.read.csv Methode zum Laden der Daten in einen Datenrahmen fifa_df. Die eigentliche Methode ist spark.read.format [csv / json] .

fifa_df = spark.read.csv ('Pfad der Datei / fifa_players.csv', inferSchema = True, header = True) fifa_df.show ()

Schema des Datenrahmens

Um einen Blick auf das Schema zu werfen, dh. Für die Struktur des Datenrahmens verwenden wir die printSchema Methode. Dadurch erhalten wir die verschiedenen Spalten in unserem Datenrahmen sowie den Datentyp und die nullbaren Bedingungen für diese bestimmte Spalte.

fifa_df.printSchema ()

Spaltennamen und Anzahl (Zeilen und Spalten)

Wenn wir uns die Namen und die Anzahl der Zeilen und Spalten eines bestimmten Datenrahmens ansehen möchten, verwenden wir die folgenden Methoden.

fifa_df.columns // Spaltennamen fifa_df.count () // Zeilenanzahl len (fifa_df.columns) // Spaltenanzahl

37784 8

Beschreiben einer bestimmten Spalte

Wenn wir uns die Zusammenfassung einer bestimmten Spalte eines Datenrahmens ansehen möchten, verwenden wir die beschreibt Methode. Diese Methode liefert die statistische Zusammenfassung der angegebenen Spalte. Wenn nicht angegeben, liefert sie die statistische Zusammenfassung des Datenrahmens.

aktive und passive Transformationen in der Informatik
fifa_df.describe ('Coach Name'). show () fifa_df.describe ('Position'). show ()

Mehrere Spalten auswählen

Wenn wir bestimmte Spalten aus dem Datenrahmen auswählen möchten, verwenden wir die wählen Methode.

fifa_df.select ('Spielername', 'Trainername'). show ()

Auswählen mehrerer Spalten

fifa_df.select ('Spielername', 'Trainername'). unique (). show ()

Daten filtern

Um die Daten gemäß der angegebenen Bedingung zu filtern, verwenden wir die Filter Befehl. Hier filtern wir unseren Datenrahmen basierend auf der Bedingung, dass die Übereinstimmungs-ID gleich 1096 sein muss, und berechnen dann, wie viele Datensätze / Zeilen in der gefilterten Ausgabe vorhanden sind.

fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // um die Anzahl zu erhalten

Daten filtern (mehrere Parameter)

Wir können unsere Daten basierend auf mehreren Bedingungen (UND oder ODER) filtern.

fifa_df.filter ((fifa_df.Position == 'C') && (fifa_df.Event == 'G40' ')). show ()

Daten sortieren (OrderBy)

Um die Daten zu sortieren, verwenden wir die Sortieren nach Methode. Standardmäßig wird es in aufsteigender Reihenfolge sortiert, aber wir können es auch in absteigender Reihenfolge ändern.

fifa_df.orderBy (fifa_df.MatchID) .show ()

PySpark Dataframes Beispiel 2: Superhelden-Datensatz

Laden der Daten

Hier laden wir die Daten auf die gleiche Weise wie zuvor.

Superhero_df = spark.read.csv ('Pfad der Datei / superheros.csv', inferSchema = True, header = True) Superhero_df.show (10)

Filtern der Daten

Superhero_df.filter (Superhero_df.Gender == 'Male'). Count () // Anzahl der männlichen Helden Superhero_df.filter (Superhero_df.Gender == 'Female'). Count () // Anzahl der weiblichen Helden

Gruppieren der Daten

Gruppiere nach wird verwendet, um den Datenrahmen basierend auf der angegebenen Spalte zu gruppieren. Hier gruppieren wir den Datenrahmen basierend auf der Spalte Race und dann mit dem Anzahl Funktion können wir die Anzahl der jeweiligen Rasse finden.

Race_df = Superhero_df.groupby ('Race') .count () .show ()

Durchführen von SQL-Abfragen

Wir können SQL-Abfragen auch direkt an einen beliebigen Datenrahmen übergeben. Dazu müssen wir eine Tabelle aus dem Datenrahmen erstellen registerTempTable Methode und verwenden Sie dann die sqlContext.sql () um die SQL-Abfragen zu übergeben.

Superhero_df.registerTempTable ('superhero_table') sqlContext.sql ('select * from superhero_table'). Show ()

sqlContext.sql ('Unterscheide (Eye_color) von superhero_table auswählen'). show ()

sqlContext.sql ('Unterscheide (Eye_color) von superhero_table auswählen'). count ()

2. 3

sqlContext.sql ('max (Gewicht) aus superhero_table auswählen'). show ()

Damit ist das PySpark Dataframe-Tutorial beendet.

Also das ist es, Leute!

Ich hoffe, ihr habt eine Vorstellung davon, was PySpark Dataframe ist, warum es in der Branche verwendet wird und welche Funktionen es in diesem PySpark Dataframe-Tutorial-Blog bietet. Herzlichen Glückwunsch, Sie sind kein Neuling mehr bei Dataframes. Wenn Sie mehr über PySpark erfahren und die verschiedenen Anwendungsfälle der Branche verstehen möchten, schauen Sie sich unsere an Funken mit Python und PySpark Tutorial Blog.