Bevezetés a Spark Python programba - PySpark kezdőknek



Az Apache Spark átvette a Big Data & Analytics világot, és a Python az egyik legelérhetőbb programozási nyelv, amelyet ma az Ipar használ. Tehát itt, ebben a blogban, megismerhetjük a Pyspark-ot (szikrát a python-nal), hogy mindkét világból a legjobbat hozzuk ki.

az egyik legszélesebb körben használt keretrendszer a Big Data AND kezelésével és kezelésével kapcsolatban Piton az egyik leggyakrabban használt programozási nyelv az adatelemzéshez, a gépi tanuláshoz és még sok máshoz. Szóval, miért ne használhatnánk együtt? Ez az, ahol Szikra a Pythonnal más néven PySpark bejönazkép.

Az Apache Spark Developer átlagos évi 110 000 dolláros fizetése kétségtelen, hogy a Sparkot sokat használják az iparban. Mertannakgazdag könyvtárkészlet, a Pythont használjaazAz adatkutatók és az Analytics-szakértők többsége ma. A Python és a Spark integrálása nagy ajándék volt a közösség számára. A Spark Scala nyelven készült, amely nagyon hasonlít a Java-ra. Összeállítja a programkódot a JVM bájtkódjává a nagy adatfeldolgozás érdekében. A Spark python támogatásához az Apache Spark közösség kiadta a PySparkot.Amióta, köztudottan az egyik legkeresettebb készség az iparágban, a sokféle előny kombinációja révén elérhető előnyök széles skálája miatt.Ebben a Spark with Python blogban a következő témákat fogom megvitatni.





Az Apache Spark bemutatása

Az Apache Spark egy nyílt forráskódú fürtszámítási keretrendszer a valós idejű feldolgozás az Apache Software Foundation fejlesztette ki. A Spark interfészt biztosít az egész klaszterek implicit programozásához adat párhuzamosság és hibatűrés.



Az alábbiakban bemutatjuk az Apache Spark néhány jellemzőjét, amely előnyt biztosít számára a többi keretrendszerrel szemben:

Szikra jellemzői - Szikra Python-nal - Edureka

  • 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 időszámítás és alacsony késleltetés a memóriában történő számítás miatt.
  • Poliglott: Ez az egyik legfontosabbjellemzőkScala, Java, Python és R programozhatók.

Miért megy a Python?

Bár a Sparkot scalában tervezték, ami majdnem tízszer gyorsabb, mint a Python, de a Scala csak akkor gyorsabb, ha a a használt magok száma kevesebb . Mivel manapság az elemzés és a folyamat nagy része nagyszámú magot igényel, a Scala teljesítményelőnye nem olyan nagy.



A programozók számára a Python az viszonylag könnyebb tanulni szintaxisa és szabványos könyvtárai miatt. Sőt, ez a dinamikusan gépelt nyelv, ami azt jelenti, hogy az RDD-k többféle objektumot képesek tárolni.

Bár Scalának van SparkMLlib nincs elég könyvtár és eszköz a gépi tanuláshoz és az NLP-hez célokra. Sőt, a Scalából hiányzik az adatmegjelenítés.

PySpark képzés | Apache Spark Python-val | Edureka

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

A Spark beállítása Python-nal (PySpark)

Remélem, tudjátok, hogyan kell .Tehát, ha megtette cipzárral a szikrafájl, telepítve és hozzáadta az utat .bashrc fájlt, be kell írniaforrás .bashrc

export SPARK_HOME = /usr/lib/hadoop/spark-2.1.0-bin-hadoop2.7 export PATH = $ PATH: /usr/lib/hadoop/spark-2.1.0-bin-hadoop2.7/bin

A pyspark shell megnyitásához be kell írnia a parancsot./bin/pyspark

Szikra az iparban

Apache Spark, mert olyan csodálatos tulajdonságai vannak, mint a memóriában történő feldolgozás , poliglott és gyors feldolgozás világszerte sok vállalat használja különféle célokra a különböző iparágakban:

Jehu az Apache Sparkot használja a Machine Learning képességeihez, hogy személyre szabhassa híreit, weblapjait és célhirdetéseket is. A Spark with Python alkalmazásával megtudhatják, milyen hírek vannak - a felhasználók érdeklik, hogy elolvassák és kategorizálják a híreket, hogy megtudják, milyen felhasználókat érdekelne az egyes hírkategóriák olvasása.

TripAdvisor az apache-szikra segítségével tanácsokat ad utazók millióinak, összehasonlítva több száz weboldalt, hogy megtalálja ügyfeleinek a legjobb szállodai árakat. A szállodák véleményeinek olvasható formátumban történő elolvasásához és feldolgozásához szükséges idő az Apache Spark segítségével történik.

A világ egyik legnagyobb e-kereskedelmi platformja Alibaba a világ legnagyobb Apache Spark-munkáit vezeti, hogy több száz petabájtnyi adatot elemezzen e-kereskedelmi platformján.

PySpark SparkContext és Data Flow

Ha a Sparkról beszélünk a Pythonnal, az RDD-kkel való együttműködést a Py4j könyvtár teszi lehetővé. A PySpark Shell összekapcsolja a Python API-t a szikra magjával, és inicializálja a Spark-kontextust. Szikra kontextus minden szikra alkalmazás szíve.

  1. A Spark kontextus belső szolgáltatásokat hoz létre, és kapcsolatot létesít egy Spark végrehajtási környezettel.
  2. Az illesztőprogram programjában található szikrakönyv objektum koordinálja az összes elosztott folyamatot, és lehetővé teszi az erőforrás allokációt.
  3. A fürtmenedzserek végrehajtókat, amelyek a JVM folyamatok, logikával látják el.
  4. A SparkContext objektum elküldi az alkalmazást a végrehajtóknak.
  5. A SparkContext minden végrehajtóban végrehajt feladatokat.

mi a char a java-ban

PySpark KDD használati eset

Most vessünk egy pillantást a használati esetre KDD’99 Kupa (Nemzetközi tudásfeltáró és adatbányászati ​​eszközök versenye).Itt az adatkészlet töredékét vesszük, mert az eredeti adatkészlet túl nagy

import urllib f = urllib.urlretrieve ('http://kdd.ics.uci.edu/databases/kddcup99/kddcup.data_10_percent.gz', 'kddcup.data_10_percent.gz')

RDD LÉTREHOZÁSA:
Most már használhatjuk ezt a fájlt hozza létre az RDD-t .

data_file = './kddcup.data_10_percent.gz' raw_data = sc.textFile (data_file)

SZŰRŐ:

Tegyük fel, hogy meg akarjuk számolni, hogy hány normális. interakcióink vannak az adatkészletünkben. Tudunk szűrő a raw_data RDD-t az alábbiak szerint.

normal_raw_data = raw_data.filter (lambda x: 'normál.' x-ben)

SZÁMOL:

Most már tehetjük számol hány elemünk van az új RDD-ben.

az időből importálási idő t0 = idő () normál_szám = normál_rajz_adat.szám () tt = idő () - t0 nyomtatás 'Vannak {}' normál 'interakciók'. formátum (normál_szám) nyomtatás 'Számlálás befejeződött {} másodperc alatt'. formátum (kör (tt, 3))

Kimenet:

97278 „normális” interakció van, amelyek 5,951 másodperc alatt teljesültek

FELTÉTEL:

Ebbenügyaz adatfájlunkat CSV-formátumban szeretnénk olvasni. Ezt úgy tehetjük meg, hogy az RDD minden elemére lambda függvényt alkalmazunk az alábbiak szerint. Itt fogjuk használni a térkép () és vegye () transzformációt.

from pprint import pprint csv_data = raw_data.map (lambda x: x.split (',')) t0 = time () head_rows = csv_data.take (5) tt = time () - t0 print 'Az elemzés {} másodperc alatt elkészült '.format (round (tt, 3)) pprint (head_rows [0])

Kimenet:

Az elemzés 1,715 másodperc alatt elkészült [u'0 ', u'tcp', u'http ', u'SF', u'181 ', u'5450', u'0 ', u'0',. . u'normális.]

HASÍTÁS:

Most azt akarjuk, hogy az RDD minden eleme kulcs-érték pár legyen, ahol a kulcs a címke (pl. Normál ), és az érték a CSV-formázott fájl sorát képviselő teljes elemlista. A következőképpen folytathatnánk. Itt használjuk a line.split () és térkép ().

def parse_interaction (line): elems = line.split (',') tag = elems [41] return (tag, elems) key_csv_data = raw_data.map (parse_interaction) head_rows = key_csv_data.take (5) pprint (head_rows [0] )
 Kimenet: (u'normális. ', [u'0', u'tcp ', u'http', u'SF ', u'181', u'5450 ', u'0', u'0 ', u' 0,00 ', u'1,00', .... U'normális. '])

A GYŰJTEMÉNY:

Itt fogjuk használni a collect () műveletet. Az RDD összes elemét a memóriába tárolja. Ezért óvatosan kell használni, amikor nagy RDD-kkel dolgozik.

t0 = time () all_raw_data = raw_data.collect () tt = time () - t0 print '{} másodperc alatt összegyűjtött adatok.formátum (kör (tt, 3))

Kimenet:

Az adatok 17,927 másodperc alatt gyűltek össze

Ez természetesen hosszabb időt vett igénybe, mint bármely más, korábban használt művelet. Minden Spark dolgozói csomópontot, amely rendelkezik az RDD töredékével, össze kell hangolni annak érdekében, hogy visszaszerezze a részét, majd mindent együtt csökkent.

Utolsó példaként, amely az összes előzőt egyesíti, szeretnénk összegyűjteni az összesetNormálkölcsönhatások, mint kulcs-érték párok.

# adatok letöltése fájlból data_file = './kddcup.data_10_percent.gz' raw_data = sc.textFile (data_file) # elemzés kulcs-érték párokba key_csv_data = raw_data.map (parse_interaction) # normál kulcs-interakciók szűrése normal_key_interactions = key_csv_data.filter lambda x: x [0] == 'normális.') # összes összegyűjtése t0 = idő () all_normal = normal_key_interactions.collect () tt = time () - t0 normal_count = len (all_normal) print 'Adatok összegyűjtése {} másodperc alatt megtörtént '.format (round (tt, 3)) print' Vannak {} 'normális' interakciók'.format (normal_count)

Kimenet:

12,485 másodperc alatt gyűjtött adatok 97278 normális interakció van

Szóval ez van, srácok!

Remélem, hogy élvezte ezt a Spark with Python blogot. Ha ezt olvassa, gratulálunk! Már nem vagy újonc a PySparkban. Próbálja ki most ezt az egyszerű példát a rendszerein.

Most, hogy megértette a PySpark alapjait, 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 szükségesek ahhoz, hogy sikeres Pyark fejlesztővé váljon, és felkészítse Önt a Cloudera Hadoop és a Spark fejlesztői tanúsító vizsgára (CCA175).

Van egy kérdésünk? Kérjük, említse meg a megjegyzések részben, és kapcsolatba lépünk Önnel.