PySpark Dataframe oktatóanyag - PySpark programozás Dataframe-kel



Ebben a PySpark Dataframe oktatóblogban számos példával megismerheti az Apache Spark átalakításait és műveleteit.

Az adatkeretek manapság az Ipar egyik divatszava. Az emberek hajlamosak az adatelemzéshez használt népszerű nyelvekkel használni, mint például a Python, a Scala és az R.Ráadásul a Big Data, a Python a Spark vagy a bonyolult elemzés és munging feladatok nyilvánvaló kezelésének szükségességével az ipar egyik legkeresettebb képességévé vált ma.Miért van az, hogy mindenki ennyire használja? Értsük meg ezt a miénkkel PySpark Dataframe oktatóanyag blog. Ebben a blogban a következő témákkal foglalkozom:





PySpark Dataframe oktatóanyag: Mik az adatkeretek?

Az adatkeretek általában adatszerkezetre utalnak, amely táblázatos jellegű. Sorokat képvisel, amelyek mindegyike számos megfigyelésből áll. A sorok sokféle adatformátumot tartalmazhatnak ( Heterogén ), míg egy oszlop azonos adattípusú adatokat tartalmazhat ( Homogén ). Az adatkeretek általában tartalmaznak néhány metaadatot az adatok mellett, például oszlopok és sorok neve mellett.

Dataframe-Pyspark-Dataframe-Tutorial



Mondhatjuk, hogy az Dataframes nem más, hanem kétdimenziós adatstruktúra, hasonló egy SQL táblához vagy egy táblázathoz. Most lépjünk előre ezzel a PySpark Dataframe oktatóanyaggal, és értsük meg, miért van szükségünk pontosan a Pyspark Dataframe-re?

Miért van szükségünk Dataframe-re?

1. Strukturált és félig strukturált adatok feldolgozása



Adatkeretekfeldolgozásra terveztéknak nek nagy strukturált és félig strukturált adatok gyűjtése . A Spark DataFrame megfigyelései elnevezett oszlopok alatt vannak rendezve, ez segít az Apache Sparknak megérteni a DataFrame sémáját. Ez segít a Sparknak a végrehajtási terv optimalizálásában ezekre a lekérdezésekre. Ez is képes kezelni Petabájt adatokból.

2.S engedélyezés és kockára vágás

Adatkeret AA PI-k általában a bonyolult módszereket támogatják szeletelés és feldarabolás az adat. Magába foglaljaműveletns, például sorok, oszlopok és cellák név vagy szám szerinti „kiválasztása”, sorok kiszűrése stb. A statisztikai adatok általában nagyon rendetlenek, és sok hiányzó és téves értéket és tartomány-megsértést tartalmaznak. Tehát az adatkeretek kritikus fontossága a hiányzó adatok kifejezett kezelése.

3. Adatforrások

A DataFrame sokféle adatformátumot és forrást támogat, ezt később a Pyspark Dataframe bemutató blogjában vizsgáljuk meg. Különböző forrásokból származó adatokat vehetnek fel.

4. Támogatás több nyelv számára

API támogatást nyújt különböző nyelvekhez, például Python, R, Scala, Java,ami megkönnyíti a különböző programozási háttérrel rendelkező emberek használatát.

Iratkozzon fel youtube csatornánkra, hogy új frissítéseket kapjon ..!

Az adatkeretek jellemzői

  • Az adatkeretek Megosztott a természetben, ami hibatűrővé és jól elérhető adatstruktúrává teszi.
  • Lusta értékelés olyan értékelési stratégia, amely addig tartja a kifejezés értékelését, amíg az értékére nincs szükség. Kerüli az ismételt értékelést. A lusta értékelés a Sparkban azt jelenti, hogy a végrehajtás csak akkor indul el, ha egy műveletet elindítanak. A Sparkban a lusta értékelés képe akkor jelenik meg, amikor Spark-átalakulások következnek be.
  • Az adatkeretek Változhatatlan a természetben. Változhatatlan alatt azt értem, hogy ez egy olyan objektum, amelynek állapota nem módosítható létrejötte után.De átalakulhatunkannakértékek alkalmazásávalegy bizonyosátalakulás, mint az RDD-kben.

PySpark Dataframe források

Az adatkeretek a Pysparkban többféle módon hozhatók létre:

Az adatokat a a segítségével lehet betölteni CSV, JSON, XML vagy egy parketta fájl. Létrehozható egy meglévő segítségével is RDD és bármilyen más adatbázison keresztül, például Kaptár vagy Cassandra is. Adatokat is befogadhat a HDFS-ből vagy a helyi fájlrendszerből.

Adatkeret létrehozása

Haladjunk tovább ezzel a PySpark Dataframe bemutató blogdal, és értsük meg, hogyan hozhatunk létre Dataframe-eket.

Létrehozunk alkalmazotti és osztályi példányokat.

from pyspark.sql import * Alkalmazott = Sor ('keresztnév', 'vezetékNév', 'e-mail', 'fizetés') alkalmazott1 = Alkalmazott ('Basher', 'armbrust', 'bash@edureka.co', 100000) alkalmazott2 = Munkavállaló ('Daniel', 'meng', 'daniel@stanford.edu', 120000) alkalmazott3 = Munkavállaló ('Muriel', Nincs, 'muriel@waterloo.edu', 140000) alkalmazott4 = Munkavállaló ('Rachel', 'wendell ',' rach_3@edureka.co ', 160000) worker5 = Employee (' Zach ',' galifianakis ',' zach_g@edureka.co ', 160000) print (Employee [0]) print (worker3) department1 = Row (id) = '123456', név = 'HR') osztály2 = Sor (id = '789012', név = 'OPS') részleg3 = Sor (id = '345678', név = 'FN') részleg4 = Sor (id = ' 901234 ', név =' DEV ')

Ezután létrehozunk egy DepartmentWithEmployees példányt az Employee and Departments alkalmazásból

osztályWithEmployees1 = sor (részleg = osztály1, alkalmazottak = [alkalmazott1, alkalmazott2, alkalmazott5]) osztályWithEmployees2 = sor (részleg = osztály2, alkalmazottak = [alkalmazott3, alkalmazott4]) osztályWithEmployees3 = sor (részleg = osztály3, alkalmazottak = [alkalmazott1, munkavállaló4, alkalmazott3 ]) osztályWithEmployees4 = sor (részleg = osztály4, alkalmazottak = [alkalmazott2, alkalmazott3])

Hozzuk létre az Adatkeretünket a Sorok listájából

departmentsWithEmployees_Seq = [osztályWithEmployees1, departmentWithEmployees2] dframe = spark.createDataFrame (departmentsWithEmployees_Seq) kijelző (dframe) dframe.show ()

Pyspark Dataframes 1. példa: FIFA World Cup adatkészlet

Itt vettük a FIFA World Cup Players adatkészletét. Betölteni fogjuk ezeket az adatokat, amelyek CSV formátumban vannakba beadatkeret, majd megismerjük a különféle átalakításokat és műveleteket, amelyek ezen adatkereten végrehajthatók.

Adatok olvasása CSV fájlból

Töltsük be az adatokat egy CSV fájlból. Itt fogjuk használni a szikra.olvasott.csv módszer az adatok betöltésére egy adatkeretbe fifa_df. A tényleges módszer az spark.read.format [csv / json] .

fifa_df = spark.read.csv ('fájl útja / fifa_players.csv', inferSchema = True, header = True) fifa_df.show ()

Az Dataframe sémája

Megnézni a sémát, azaz. az adatkeret felépítését, akkor a printSchema módszer. Ez megadja nekünk az adatkeretünk különböző oszlopait, az adattípust és az adott oszlop érvénytelen feltételeit.

fifa_df.printSchema ()

Oszlopok neve és száma (sorok és oszlopok)

Amikor meg akarjuk nézni az adott Dataframe nevét és a sorok és oszlopok számát, a következő módszereket használjuk.

fifa_df.columns // Oszlopok neve fifa_df.count () // Sorszám len (fifa_df.columns) // Oszlopok száma

37784 8.

Egy adott oszlop leírása

Ha meg akarunk nézni egy Dataframe bármely oszlopának összefoglalóját, akkor a körülír módszer. Ez a módszer megadja az adott oszlop statisztikai összefoglalóját, ha nincs megadva, akkor az adatkeret statisztikai összefoglalását adja meg.

mi éber a javascriptben
fifa_df.describe ('Edző neve'). show () fifa_df.describe ('Pozíció'). show ()

Több oszlop kiválasztása

Ha ki akarunk választani bizonyos oszlopokat az adatkeretből, akkor a válassza módszer.

fifa_df.select ('Játékos neve', 'Edző neve'). show ()

Különböző oszlopok kiválasztása

fifa_df.select ('Játékos neve', 'Edző neve'). Különböző (). show ()

Adatok szűrése

Az adatok szűréséhez a megadott feltételnek megfelelően a szűrő parancs. Itt kiszűrjük az adatkeretünket azon feltétel alapján, hogy az egyezés azonosítójának 1096-nak kell lennie, majd kiszámoljuk, hogy hány rekord / sor van a szűrt kimenetben.

fifa_df.filter (fifa_df.MatchID == '1096'). show () fifa_df.filter (fifa_df.MatchID == '1096'). count () // a számlálás megszerzéséhez

Adatok szűrése (több paraméter)

Szűrhetjük adatainkat több feltétel (ÉS vagy VAGY) alapján

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

Adatok rendezése (OrderBy)

Az adatok rendezéséhez használjuk a Rendezés módszer. Alapértelmezés szerint növekvő sorrendben rendezi, de megváltoztathatjuk csökkenő sorrendre is.

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

PySpark Dataframes 2. példa: Superheros adatkészlet

Az adatok betöltése

Itt ugyanúgy töltjük be az adatokat, mint korábban.

Szuperhős_df = spark.read.csv ('fájl elérési útja / szuperhősök.csv', inferSchema = Igaz, fejléc = Igaz) Szuperhős_fájl.show (10)

Az adatok szűrése

Szuperhős_df.szűrő (Szuperhős_df.Nem == 'Férfi'). Count () // Férfi heroszszám Szuperhős_df.filter (Szuperhős_df.nem == 'Nő'). Count () // Nő heroszszám

Az adatok csoportosítása

Csoportosít az adatkeret csoportosítására szolgál a megadott oszlop alapján. Itt az adatkeretet a Race oszlop, majd a számol függvényben megtalálhatjuk az adott faj számát.

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

SQL lekérdezések végrehajtása

SQL lekérdezéseket közvetlenül is átadhatunk bármely adatkeretnek, ehhez létre kell hoznunk egy táblázatot az adatkeretről a registerTempTable módszerrel, majd használja a sqlContext.sql () az SQL lekérdezések átadásához.

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

sqlContext.sql ('válasszon külön (Szem_szín) a szuperhős_táblából'). show ()

sqlContext.sql ('válasszon külön (Szemfestéket) a szuperhős_táblából'). count ()

2. 3

sqlContext.sql ('válassza ki a max (Súly) értéket a szuperhős_táblából'). show ()

És ezzel véget értünk ennek a PySpark Dataframe bemutatónak.

Tehát ez van, Srácok!

Remélem, önök is képet kaptak arról, mi a PySpark Dataframe, miért használják az iparban és annak jellemzői ebben a PySpark Dataframe bemutató blogban. Gratulálunk, már nem vagy újonc a Dataframes számára. Ha többet szeretne megtudni a PySparkról és megérteni a különböző ipari felhasználási eseteket, tekintse meg a következőt: Szikra a Pythonnal és PySpark bemutató Blog.