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:
- Mik az adatkeretek?
- Miért van szükségünk Dataframe-re?
- Az adatkeretek jellemzői
- PySpark Dataframe források
- Adatkeret létrehozása
- Pyspark Dataframes a FIFA World Cup és a Superheroes adatkészlettel
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.
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.