PySpark oktatóanyag - Ismerje meg az Apache Spark programot a Python használatával



Ebben a PySpark Tutorial blogban megismerheti a PSpark API-t, amelyet az Apache Spark alkalmazásához használnak a Python programozási nyelv használatával.

Egy olyan világban, ahol az adatok ilyen riasztó sebességgel készülnek, nagyon hasznos az adatok megfelelő időben történő helyes elemzése. Az egyik legcsodálatosabb keretrendszer a nagy adatok valós idejű kezeléséhez és az elemzés elvégzéséhez az Apache Spark.Együtt, vagy a PySpark az egyik legkeresettebb tanúsító tanfolyam, amely a Scala for Spark számára futtatja a pénzét. Tehát ebben PySpark bemutató blogon a következő témákat vitatom meg:





PySpark bemutató: Mi az a PySpark?

Az Apache Spark egy gyors fürt számítási keretrendszer, amelyet nagy adatok feldolgozására, lekérdezésére és elemzésére használnak. Mivel a memórián belüli számításon alapszik, előnye van számos más nagy adatkeretrendszerrel szemben.

rendezzen egy tömböt c ++ nyelven

PySpark jellemzői - PySpark bemutató - Edureka



Eredetileg a Scala programozási nyelven íródott, a nyílt forráskódú közösség egy csodálatos eszközt fejlesztett ki a Python támogatására az Apache Spark számára. A PySpark a könyvtárán keresztül segíti az adatkutatókat az Apache Spark és a Python RDD -ivel való interakcióban Py4j. Számos olyan szolgáltatás teszi a PySparkot jobb keretrendszerhez, mint mások:

  • Sebesség: 100x gyorsabb, mint a hagyományos nagyméretű adatfeldolgozó keretrendszerek
  • Erőteljes gyorsítótár: Az egyszerű programozási réteg hatékony gyorsítótár-tárolási és lemezmegőrzési képességeket biztosít
  • Telepítés: Telepíthető Mesoson keresztül, Hadoop a Yarnon keresztül vagy a Spark saját fürtkezelőjén keresztül
  • Valós idő: Valós idejű számítás és alacsony késleltetés a memóriában lévő számítás miatt
  • Poliglott: Támogatja a Scala, Java, Python és R programozást

Haladjunk tovább a PySpark oktatóblogunkkal, és nézzük meg, hol használják a Sparkot az iparban.

PySpark az iparban

Minden iparág a Big Data körül forog, és ahol van Big Data, ott az elemzés is részt vesz. Vessünk egy pillantást a különféle iparágakra, ahol az Apache Sparkot használják.



Fél az egyik legnagyobb iparág, amely az online streaming felé növekszik. Netflix az Apache Sparkot valós idejű adatfolyam-feldolgozásra használja, hogy személyre szabott online ajánlásokat nyújtson ügyfeleinek. Feldolgozza 450 milliárd napi események, amelyek szerveroldali alkalmazásokba áramlanak.

Pénzügy egy másik szektor, ahol az Apache Spark valós idejű feldolgozása fontos szerepet játszik. A bankok a Sparkot használják a közösségi média profilok eléréséhez és elemzéséhez, hogy betekintést nyerjenek, amelyek segíthetnek nekik helyes üzleti döntéseket hozni hitelkockázat-értékelés , célzott hirdetések és az ügyfelek szegmentálása. Ügyfél Churn a Spark segítségével is csökken. Csalások felderítése a gépi tanulás egyik legszélesebb körben használt területe, ahol a Spark részt vesz.

Egészségügy szolgáltatók az Apache Sparkot használják Elemezze a beteg nyilvántartásait a korábbi klinikai adatokkal együtt annak megállapítására, hogy mely betegek szenvedhetnek valószínűleg egészségügyi problémákkal a klinikáról való elbocsátásuk után. Az Apache Sparkot a Genomikus szekvenálás hogy csökkentse a genomadatok feldolgozásához szükséges időt.

Kiskereskedelem és e-kereskedelem olyan iparág, ahol nem lehet elképzelni, hogy az elemzés és a célzott reklám használata nélkül futna. Az egyik legnagyobb e-kereskedelmi platform ma Alibaba a világ legnagyobb Spark Munkáit vezeti petabájtnyi adatok elemzése céljából. Alibaba fellép funkciókivonás képadatokban. eBay az Apache Spark szolgáltatást nyújtja Célzott ajánlatok , fokozza az ügyfélélményt és optimalizálja az általános teljesítményt.

Utazás Az iparágak az Apache Sparkot is használják. TripAdvisor , egy vezető utazási weboldal, amely segít a felhasználóknak a tökéletes utazás megtervezésében, az Apache Spark használatával gyorsítja fel személyre szabott ügyfél-ajánlások A .TripAdvisor az apache-szikrát használva tanácsokat ad az utazók millióinak összehasonlítva több száz weboldalt hogy megtalálja az ügyfelek számára a legjobb szállodai árakat.

A PySpark oktatóanyag fontos szempontja annak megértése, hogy miért kell a Pythonra menni? Miért ne Java, Scala vagy R?

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


Miért megy a Python?

Könnyű megtanulni: A programozók számára a Python szintaktikája és szabványos könyvtárai miatt viszonylag könnyebben megtanulható. Sőt, ez egy dinamikusan beírt nyelv, ami azt jelenti, hogy az RDD-k többféle objektumot képesek tárolni.

Hatalmas könyvtárak: A Scala nem rendelkezik elegendő adattudományi eszközzel és könyvtárral, mint például a Python a gépi tanuláshoz és a természetes nyelv feldolgozásához. Sőt, a Scalának hiányzik a jó vizualizáció és a helyi adatátalakítás.

Hatalmas közösségi támogatás: A Python globális közösséggel rendelkezik, több millió fejlesztővel, akik online és offline interakciókat folytatnak ezernyi virtuális és fizikai helyen.

A PySpark oktatóanyagának egyik legfontosabb témája az RDD-k használata. Értsük meg, mi az RDD

Spark RDD-k

Amikor az iteratív elosztott számítástechnikáról van szó, vagyis az adatok több munkán keresztüli adatainak feldolgozását a számítások során, újra fel kell használnunk vagy meg kell osztanunk az adatokat több job között. Az olyan korábbi keretrendszereknek, mint a Hadoop, problémák merültek fel, amikor több műveletet / munkát kezeltek

  • Adatok tárolása köztes tárhelyben, például HDFS-ben
  • Több I / O feladat lassítja a számításokat
  • Replikációk és sorosítások, amelyek viszont még lassabbá teszik a folyamatot

Az RDD-k megpróbálják megoldani az összes problémát a hibatűrő elosztott memóriában történő számítások engedélyezésével. Az RDD rövidítése Rugalmas elosztott adatkészletek. Az RDD egy elosztott memória-absztrakció, amely lehetővé teszi a programozók számára, hogy hibatűrő módon végezzenek memóriában történő számításokat nagy fürtökön. Ők a csak olvasható tárgygyűjtemény particionálva egy olyan gépcsoporton, amely felépíthető, ha elveszik egy partíció. Számos műveletet hajtanak végre az RDD-k:

  • Átalakulások: Az átalakítások egy új adatkészletet hoznak létre egy meglévőből. Lusta értékelés
  • Műveletek: A Spark csak akkor kényszeríti a számításokat végrehajtásra, ha műveleteket hívnak meg az RDD-kre

Értsünk meg néhány átalakítást, műveletet és funkciót

hogyan lehet megtalálni a tömb java legnagyobb számát

Fájl olvasása és a n legfontosabb elem megjelenítése:

rdd = sc.textFile ('file: /// home / edureka / Desktop / Sample') rdd.take (n)

Kimenet:

[Az erdőirtás felvetődik, mint fő környezeti és társadalmi kérdés, amely mára több, mint egy hatalmas démon. ', u' Tudnunk kell az erdőirtás miatt felmerült problémák okairól, következményeiről és megoldási módjairól. ', u' Számos bekezdést, hosszú és rövid esszét adtunk az erdőirtásról annak érdekében, hogy segítsük gyermekeit és gyermekeit a probléma megismerésében, valamint részt vehessünk az esszéíró versenyben az iskolában vagy az iskolán kívül. ', u'Az alábbiakban megadott bármely erdőirtási esszét kiválaszthatja az osztályszabványnak megfelelően. ', u' Az erdőirtás a társadalom és a környezet fő globális problémájaként jelentkezik. ']

Átalakítás kisbetűkre és felosztás: (kis és osztott)

def Func (vonalak): vonalak = vonalak.lower () vonalak = vonalak.split () visszatérő sorok rdd1 = rdd.map (Func) rdd1.take (5)

Kimenet:

[[uerdősítés ', u'is', u'arising ', u'as', u'the ', u'main', u'environmental ', u'and', u'social ', u'issue ', u'mi', u'has ', u'now', u'taken ', ...... . . ]

StopWords eltávolítása: (Szűrő)

stop_words = ['a', 'all', 'the', 'as', 'is', 'am', 'an', 'és', 'be', 'been', 'from', 'had' , 'I', 'I'd', 'miért', 'with'] rdd2 = rdd1.filter (lambda z: z nem szerepel a stop_words-ben) rdd2.take (10)

Kimenet:

[erdőirtás ', u'arising', u'main ', u'environmental', u'social ', u'issue', u'which ', u'has', u'now ', u'taken' ]

Számok összege 1-től 500-ig: (Csökkentés)

sum_rdd = sc.parallelize (tartomány (1500)) sum_rdd.reduce (lambda x, y: x + y)

Kimenet:

124750

Gépi tanulás a PySparkkal

A PySpark oktatóblogunkat folytatva elemezzünk néhány BasketBall-adatot és végezzünk néhány jövőbeni jóslatot. Tehát itt fogjuk használni az NBA összes játékosának kosárlabda adatait azóta 1980 [3 mutató bevezetésének éve].

Adatbetöltés:

df = spark.read.option ('header', 'true') .option ('inferSchema', 'true') .csv ('file: ///home/edureka/Downloads/season_totals.csv')

Oszlopok nyomtatása:

nyomtatás (df. oszlopok)

Kimenet:

['_c0', 'játékos', 'pos', 'kor', 'team_id', 'g', 'gs', 'mp', 'fg', 'fga', 'fg_pct', 'fg3', ' fg3a ',' fg3_pct ',' fg2 ',' fg2a ',' fg2_pct ',' efg_pct ',' ft ',' fta ',' ft_pct ',' orb ',' drb ',' trb ',' ast ' , 'stl', 'blk', 'tov', 'pf', 'pts', 'év']

A játékosok (OrderBy) és a pandák rendezése:

Itt válogatjuk a játékosokat az idényben elért pontok alapján.

df.orderBy ('pts', ascending = False) .limit (10) .toPandas () [['év', 'játékos', 'kor', 'pts', 'fg3']]

Kimenet:

az xml elemzése a Java-ban

DSL és matplotlib használata:

Itt elemezzük az átlagos számát 3 pontos próbálkozás - minden évszakra, - 36 perc [a teljes NBA-hozzávetőleges játéknak megfelelő intervallum megfelelő pihenéssel]. Ezt a metrikát kiszámítjuk a hárompontos mezőnykísérletek (fg3a) és a lejátszott percek (mp) számával, majd ábrázoljuk az eredményt matlplotlib .

innen: pyspark.sql.functions import col fga_py = df.groupBy ('yr') .agg ({'mp': 'sum', 'fg3a': 'sum'}) .select (col ('yr'), ( 36 * col ('sum (fg3a)') / col ('sum (mp)')). Alias ​​('fg3a_p36m'))) .orderBy ('év') from matplotlib import pyplot mint plt import seaborn mint sns plt.style .use ('fivethirtyeight') _df = fga_py.toPandas () plt.plot (_df.yr, _df.fg3a_p36m, color = '# CD5C5C') plt.xlabel ('Év') _ = plt.title ('A játékos átlagos Hárompontos próbálkozások (36 percenként) ') plt. Nem jegyezhet fel (' 3 mutató bevezetve ', xy = (1980, .5), xytext = (1981, 1.1), fontsize = 9, arrowprops = dict (facecolor =' szürke ', shrink = 0, linewidth = 2)) plt. jegyzet (' NBA 3 pontos vonalon mozgott ', xy = (1996, 2.4), xytext = (1991.5, 2.7), fontsize = 9, arrowprops = dict (facecolor = 'szürke', zsugorodás = 0, vonalszélesség = 2)) plt. nem jegyezhetõ fel ('NBA visszavezetett 3 pontos vonalat', xy = (1998, 2.), xytext = (1998.5, 2.4), fontsize = 9, nyílprops = dict (facecolor = 'szürke', zsugorodás = 0, vonalszélesség = 2))

Kimenet:

Lineáris regresszió és VectorAssembler:

Erre a görbére illeszthetünk lineáris regressziós modellt, hogy modellezzük a következő 5 év lövési kísérleteinek számát. Adatainkat a VectorAssembler függvény segítségével egyetlen oszlopra kell átalakítanunk. Ez egy követelmény a lineáris regressziós API-hoz az MLlib-ben.

from pyspark.ml.feature import VectorAssembler t = VectorAssembler (inputCols = ['év'], outputCol = 'jellemzők') képzés = t.transform (fga_py) .withColumn ('év', fga_py.yr) .withColumn ('label ', fga_py.fg3a_p36m) training.toPandas (). head ()

Kimenet:

Épület modell:

Ezután a transzformált adataink felhasználásával építjük fel a lineáris regressziós modell objektumunkat.

from pyspark.ml.regressziós import LinearRegression lr = LinearRegression (maxIter = 10) model = lr.fit (edzés)

Képzett modell alkalmazása az adatkészletre:

Képzett modell objektum modellünket az eredeti képzési készletünkre alkalmazzuk, 5 éves jövőbeli adatokkal együtt

from pyspark.sql.types import # sor alkalmazása modellt alkalmaz az 1979-80-as szezonra 2020-21-ig szezon training_yrs = training.select ('év'). rdd.map (lambda x: x [0]). collect () training_y = training.select ('fg3a_p36m'). rdd.map (lambda x: x [0]). collect () prediction_yrs = [2017, 2018, 2019, 2020, 2021] all_yrs = training_yrs + prediction_yrs # beépített tesztelés DataFrame test_rdd = sc.

A végső jóslat megrajzolása:

Ezután ábrázolhatjuk eredményeinket, és elmenthetjük a grafikont egy meghatározott helyre.

plt.plot (df_results.yr, df_results.prediction, vonalszélesség = 2, linestyle = '-', color = '# 224df7', label = 'L2 Fit') plt.plot (training_yrs, training_y, color = '# f08080 ', label = Nincs) plt.xlabel (' Év ') plt.ylabel (' Kísérletek száma ') plt.legend (loc = 4) _ = plt.title (' A játékosok átlagos hárompontos próbálkozásai (36 percenként) ') plt.tight_layout () plt.savefig (' / home / edureka / Letöltések / Képek / REGRESSION.png ')

Kimenet:

És ezzel a grafikonnal a PySpark bemutató blog végére értünk.

Tehát ez van, Srácok!

Remélem, hogy önök megfogalmazták, mi a PySpark, miért a legalkalmasabb a Python a Spark, az RDD-k és a gépi tanulás bepillantására a Pysparkkal ebben a PySpark bemutató blogban. Gratulálunk, Ön már nem a PySpark kezdője. Ha többet szeretne megtudni a PySparkról és megérteni a különböző ipari felhasználási eseteket, akkor nézze meg a mi oldalunkat Szikra a Pythonnal Blog.

Most, hogy megértette, mi a Pyspark, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Edureka's Python Spark tanúsító képzés PySpark használatával célja, hogy biztosítsa Önnek azokat az ismereteket és készségeket, amelyek ahhoz szükségesek, hogy a Python használatával sikeres Spark fejlesztővé váljon, és felkészítse Önt a Cloudera Hadoop és Spark Developer tanúsító vizsgára (CCA175).