Inleiding tot Spark DataFrame

Van een spark-gegevensframe kan worden gezegd dat het een gedistribueerde gegevensverzameling is die in benoemde kolommen is georganiseerd en ook wordt gebruikt voor de bewerkingen zoals filteren, berekening van aggregaties, groepering en ook kan worden gebruikt met Spark SQL. Gegevensframes kunnen worden gemaakt door gebruik te maken van gestructureerde gegevensbestanden, samen met bestaande RDD's, externe databases en Hive-tabellen. Het wordt in feite een abstractielaag genoemd die bovenop RDD is gebouwd en wordt ook gevolgd door de dataset-API die in latere versies van Spark (2.0 +) werd geïntroduceerd. Bovendien werden de datasets niet geïntroduceerd in Pyspark maar alleen in Scala met Spark, maar dit was niet het geval in het geval van Dataframes. Gegevensframes die in de volksmond DF's worden genoemd, zijn logische kolomindelingen die het werken met RDD's eenvoudiger en handiger maken en die op dezelfde manier gebruikmaken van dezelfde functies als RDD's. Als u meer op conceptueel niveau praat, is dit equivalent aan de relationele tabellen, samen met goede optimalisatiefuncties en -technieken.

Hoe maak je een DataFrame?

Een gegevensframe wordt meestal gemaakt met een van de genoemde methoden. Het kan worden gemaakt door gebruik te maken van Hive-tabellen, externe databases, gestructureerde gegevensbestanden of zelfs in het geval van bestaande RDD's. Op deze alle manieren kunnen deze benoemde kolommen worden gemaakt, dataframes genoemd die worden gebruikt voor de verwerking in Apache Spark. Door gebruik te maken van SQLContext of SparkSession kunnen applicaties worden gebruikt om Dataframes te maken.

Spark DataFrames-bewerkingen

In Spark is een gegevensframe de distributie en verzameling van een georganiseerde vorm van gegevens in benoemde kolommen, wat overeenkomt met een relationele database of een schema of een gegevensframe in een taal zoals R of python, maar samen met een rijker niveau van optimalisaties om gebruikt te worden. Het wordt gebruikt om een ​​specifiek soort domein te bieden van een taal die kan worden gebruikt voor gestructureerde gegevensmanipulatie.

Hieronder staan ​​enkele basisbewerkingen van gestructureerde gegevensverwerking door gebruik te maken van dataframes.

1. Een document van het type lezen: JSON: We zouden gebruik maken van het commando sqlContext.read.json.

Voorbeeld: Laten we aannemen dat onze bestandsnaam student.json is, dan ziet ons stukje code er als volgt uit:
val dfs= sqlContext.read.json(“student.json”)

Uitvoer: In dit geval is de uitvoer dat de veldnamen automatisch worden overgenomen uit het bestand student.json.

2. Gegevens weergeven: om de gegevens in de Spark-gegevensframes te zien, moet u de opdracht gebruiken:
dfs.show ()

Voorbeeld: Laten we aannemen dat onze bestandsnaam student.json is, dan ziet ons stukje code er als volgt uit:
val dfs= sqlContext.read.json(“student.json”)
dfs.show()

Output: de studentgegevens worden in tabelvorm aan u gepresenteerd.

3. Gebruik van de printSchema-methode: als u de structuur, dwz het schema van het gegevensframe, wilt zien, gebruikt u de volgende opdracht: dfs.printSchema ()

Voorbeeld: Laten we aannemen dat onze bestandsnaam student.json is, dan ziet ons stukje code er als volgt uit:

val dfs= sqlContext.read.json(“student.json”)
dfs. printSchema ()

Output: de structuur of het schema zal voor u aanwezig zijn

4. Gebruik de selectiemethode: om de selectiemethode te gebruiken, wordt de volgende opdracht gebruikt om de namen en kolommen uit de lijst met gegevensframes op te halen.
dfs.select ( “column-name”). tonen ()

Voorbeeld: Laten we aannemen dat onze bestandsnaam student.json is, dan ziet ons stukje code er als volgt uit:
val dfs= sqlContext.read.json(“student.json”)
dfs.select(“name”).show()

Uitvoer: de waarden van de naamkolom zijn zichtbaar.

5. Gebruik leeftijdfilter: De volgende opdracht kan worden gebruikt om het bereik van studenten met een leeftijd van meer dan 23 jaar te vinden.
dfs.filter (dfs ("kolomnaam")> waarde) .show ()

Voorbeeld: Laten we aannemen dat onze bestandsnaam student.json is, dan ziet ons stukje code er als volgt uit:
val dfs= sqlContext.read.json(“student.json”)
dfs.filter(dfs(“age”)>23).show()

Output: de gefilterde leeftijd voor meer dan 23 zal verschijnen in de resultaten.

6. De methode groupBy gebruiken: De volgende methode kan worden gebruikt om het aantal studenten met dezelfde leeftijd te tellen.
dfs.groupBy ( “column-name”). telling (). tonen ()

Voorbeeld: Laten we aannemen dat onze bestandsnaam student.json is, dan ziet ons stukje code er als volgt uit:
val dfs= sqlContext.read.json(“student.json”)
dfs.groupBy(“age”).count().show()

7. De SQL-functie gebruiken op een SparkSession waarmee de toepassing SQL-type query's programmatisch kan uitvoeren en daarom het resultaat retourneert in de vorm van een gegevensframe.
spark.sql (zoekopdracht)

Voorbeeld: stel dat we het SQL-gegevensframe moeten registreren als een tijdelijke weergave en vervolgens:
df.createOrReplaceTempView(“student”)
sqlDF=spark.sql(“select * from student”)
sqlDF.show()

Uitvoer: er wordt een tijdelijke weergave gemaakt met de naam van de student en er wordt een spark.sql op toegepast om deze in een gegevensframe te converteren.

8. De SQL-functie gebruiken in een Spark Session for Global-tijdelijke weergave: hiermee kan de toepassing SQL-type query's programmatisch uitvoeren en geeft het resultaat daarom de vorm van een gegevensframe.
spark.sql (zoekopdracht)

Voorbeeld: stel dat we het SQL-gegevensframe moeten registreren als een tijdelijke weergave en vervolgens:
df.createGlobalTempView(“student”)
park.sql(“select * from global_temp.student”).show()
spark.newSession().sql(“Select * from global_temp.student”).show()

Uitvoer: er wordt een tijdelijke weergave gemaakt met de naam van de student en er wordt een spark.sql op toegepast om deze in een gegevensframe te converteren.

Voordelen van Spark DataFrame

  1. Het dataframe is de gedistribueerde verzameling van de Data en daarom zijn de gegevens georganiseerd op de naam van kolomvorm.
  2. Ze zijn min of meer vergelijkbaar met de tabel in het geval van relationele databases en hebben een rijke set van optimalisatie.
  3. Dataframes worden gebruikt om de query's in SQL en ook de dataframe-API mogelijk te maken
  4. Het kan worden gebruikt om zowel gestructureerde als ongestructureerde gegevens te verwerken.
  5. Het gebruik van katalysatoroptimalisatie maakt optimalisatie eenvoudig en effectief.
  6. De bibliotheken zijn aanwezig in vele talen zoals Python, Scala, Java en R.
  7. Dit wordt gebruikt om sterke compatibiliteit met Hive te bieden en wordt gebruikt om ongewijzigde Hive-zoekopdrachten uit te voeren in het reeds aanwezige Hive-magazijn.
  8. Het kan heel goed schalen, van enkele kbs op het persoonlijke systeem tot vele petabytes op de grote clusters.
  9. Het wordt gebruikt om een ​​eenvoudige mate van integratie met andere big data-technologieën en frameworks te bieden.
  10. De abstractie die ze aan RDD's bieden, is efficiënt en maakt de verwerking sneller.

Conclusie - Spark DataFrame

In dit bericht heb je een zeer kritieke functie van Apache Spark geleerd, namelijk de gegevensframes en het gebruik ervan in de applicaties die vandaag worden uitgevoerd, samen met bewerkingen en voordelen. Ik hoop dat je ons artikel leuk vond. Houd dit in de gaten voor meer.

Aanbevolen artikelen

Dit is een handleiding voor Spark DataFrame geweest. Hier bespreken we hoe een DataFrame te maken? de voordelen en verschillende bewerkingen van DataFrames samen met de juiste voorbeeldcode. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Vonken streamen
  2. Hoe Spark te installeren
  3. Carrière in Spark
  4. Spark Interview Vragen
  5. Gegevenskaders in R
  6. 7 verschillende soorten joins in Spark SQL (voorbeelden)
  7. PySpark SQL | Modules en methoden van PySpark SQL
  8. Vonkonderdelen | Overzicht van componenten van Spark

Categorie: