
Bevezetés a PySpark SQL-be
Néhány kezdő programozó nem ismeri a PySpark SQL-t. Mielőtt átnéznénk a PySpark SQL-t, először át kell gondolnunk, mi az a Spark SQL. Kezdjük a Spark SQL-lel, ez az Apache Spark modulja. A Spark SQL strukturált adatokkal dolgozott. A PySpark SQL-t a Python Spark támogatására fejlesztették ki.
A PySpark SQL a Python és a Spark SQL együttműködése. Elsősorban a strukturált és félig strukturált adatok feldolgozásához használják. Az általa biztosított API számos forrásból képes adatokat olvasni. Ezek az adatforrások különböző adatformátumokban lehetnek.
Mi a PySpark SQL?
Ez egy eszköz a Python támogatásához a Spark SQL segítségével. A Python Spark támogatására fejlesztették ki. A PySpark megfelelő megértéséhez a Python, a Big Data & Spark ismerete szükséges. A PySpark SQL fontos funkciói miatt lassan népszerűsíti az adatbázis-programozókat.
A PySpark SQL az elosztott rendszeren működik, és skálázható az is, hogy miért használják erősen az adattudományban. A PySpark SQL gépi tanulását a python könyvtár biztosítja. Ez a Python könyvtár gépi tanulási könyvtár.
A PySpark SQL tulajdonságai
A PySpark SQL néhány fontos jellemzője az alábbiakban található:
- Sebesség: Sokkal gyorsabb, mint a hagyományos nagy adatfeldolgozási keretek, mint például a Hadoop.
- Erőteljes gyorsítótárazás: A PySpark egyszerű programozási réteget biztosít, amely elősegíti a gyorsítótárazást, mint a többi keret gyorsítótárazása.
- Valós idejű: A kiszámítás a PySpark SQL-ben a memóriában történik, ezért valósidejű.
- Telepítés: Telepíthető a Hadoop vagy a saját fürtkezelőn keresztül.
- Polyglot: Támogatja a Scala, Java, Python és R programozását.
A nagy adatokban használják, és ahol nagy adatok vannak, az adatok elemzéséhez kapcsolódókat foglalja magában. Ez a Big Data Analytics legforróbb eszköze a piacon.
A PySpark SQL legfontosabb felhasználásai
Az alábbiakban felsorolunk néhány olyan ágazatot, amelyekben a Pysparkot legtöbbször használják:

E-kereskedelem ipar
Az elektronikus kereskedelemben a PySpark jelentős szerepet tölt be. Arra szolgál, hogy javítsa a felhasználók hozzáférhetőségét, ajánlatokat biztosítson a megcélzott ügyfeleknek, és hirdetjen az eredeti ügyfelek számára. Különböző e-kereskedelmi iparágak, például az eBay, Alibaba, Flipkart, Amazon stb. Használják valódi adatok megszerzésére marketing célokra.
Média
Különböző médiavezető iparágak, például a Youtube, a Netflix, az Amazon stb. A PySpark-ot többségében használják a nagy adatok feldolgozására, hogy a felhasználók számára elérhetővé tegyék. Az adatok ilyen feldolgozására valós időben kerül sor a kiszolgálóoldali alkalmazások számára.
Banki
A bankrendszer egy másik fontos ágazat, ahol a PySparkot nagyon hatalmas szinten használják. Segít a pénzügyi szektornak valós idejű tranzakciók feldolgozásában milliónyi nyilvántartás-feldolgozás, valódi ügyfeleknek történő hirdetés, hitelkockázat-értékelés stb.
PySpark modulok
Néhány fontos osztályt és azok jellemzőit az alábbiakban adjuk meg:
- pyspark.sql.SparkSession: Ez az osztály lehetővé teszi a programozók számára, hogy Spark-ban programozzanak DataFrame és SQL funkcionalitással. A SparkSession létrehozta a DataFrame-t, regisztrálja a DataFrame-t táblákként, gyorsítótár-táblázatokként, az SQL-t végrehajtja a táblázatok felett.
- pyspark.sql.DataFrame: A DataFrame osztály fontos szerepet játszik az elosztott adatgyűjtésben. Ezek az adatok elnevezett oszlopokba vannak csoportosítva. A Spark SQL DataFrame hasonló egy relációs adattáblázathoz. Az DataFrame létrehozható az SQLContext módszerekkel.
- pyspark.sql.Oszlopok: A DataFrame oszloppéldányai az osztály használatával létrehozhatók.
- pyspark.sql.Row: Ennek a osztálynak a segítségével a DataFrame sorban sor hozható létre.
- pyspark.sql.GroupedData: A GroupedData osztály biztosítja a groupBy () által létrehozott összesítési módszereket.
- pyspark.sql.DataFrameNaFunctions: Ez az osztály biztosítja a hiányzó adatokkal való együttműködés funkcióját.
- pyspark.sql.DataFrameStatFunctions: A statisztikai funkciók elérhetők a Spark SQL DataFrames programjával. A statisztikai függvények funkcionalitását ez az osztály biztosítja.
- pyspark.sql.functions: A Spark számos beépített funkciója elérhető a DataFrames kezelésére. Néhány beépített funkció az alábbiakban olvasható:
| Beépített módszerek | Beépített módszerek |
| abs (col) | keresse meg (substr, str, pos = 1) |
| acos (col) | napló (arg1, arg2 = nincs) |
| add_months (kezdés, hónapok) | log10 (col) |
| approxCountDistinct (oszlop, res = nincs) | log1p (col) |
| array ((cols)) | log2 (col) |
| tömb_tartalma (oszlop, érték) | alacsonyabb (col) |
| asc (col) | LTrim (col) |
| ASCII (col) | max (col) |
| asin (col) | MD5 (col) |
| atan | átlagos (col) |
| atan2 | min (col) |
| avg | perc (col) |
| base64 | monotonically_increasing_id () |
| kuka | hó (col) |
| bitwiseNot | hónapok között (dátum1, dátum2) |
| Adás | nanvl (col1, col2) |
| Bround | következő nap (dátum, nap hétfő) |
| Cbrt | ntile (n) |
| mennyezetet épít vmire | PERCENT_RANK () |
| coalesce ((col)) | posexplode (col) |
| col (col) | pow (col1, col2) |
| collect_list (col) | negyede (col) |
| collect_set (col) | radián (col) |
| oszlop (col) | rand (vetőmag = Nincs |
| concat (* cols) | randn (vetőmag = Nincs) |
| concat_ws (sep, * col) | rang() |
| konv (oszlop, fromBase, toBase) | regexp_extract (str, minta, idx) |
| corr (col1, col2) | regexp_replace (str, minta, csere) |
| cos (col) | ismétlés (oszlop, n) |
| cosh (col) | fordított (col) |
| count (col) | rint (col) |
| countDistinct (oszlop, * oszlop) | kerek (oszlop, skála = 0) |
| covar_pop (col1, col2) | ROW_NUMBER () |
| covar_samp (col1, col2) | rpad (oszlop, len, pad) |
| CRC32 (col) | RTrim (col) |
| create_map (* cols) | második (col) |
| cume_dist () | sha1 (col) |
| mostani dátum() | sha2 (oszlop, számjegy) |
| current_timestamp () | shiftLeft (oszlop, számjegy) |
| date_add (kezdés, napok) | shiftRight (oszlop, számjegy) |
| date_format (dátum, formátum) | shiftRightUnsigned (oszlop, számjegy) |
| date_sub (kezdés, napok) | Signum (col) |
| dátummal (vége, kezdete) | sin (col) |
| dayofmonth (col) | sinh (col) |
| DAYOFYEAR (col) | mérete (col) |
| dekódolás (oszlop, karakterkészlet) | torzítottság (col) |
| fok (col) | sort_array (col, asc = igaz) |
| dense_rank () | Soundex (col) |
| desc (col) | spark_partition_id () |
| kódolás (oszlop, karakterkészlet) | split (str, minta) |
| exp (col) | sqrt (col) |
| felrobban (col) | stddev (col) |
| expm1 (col) | stddev_pop (col) |
| expr (str) | stddev_samp (col) |
| faktoriális (col) | struct (* cols) |
| első (oszlop, ignorenulls = hamis) | substring (str, pos, len) |
| emeleti (col) | substring_index (str, delim, count) |
| formátum_szám (oszlop, d) | sum (col) |
| format_string (formátum, * oszlop) | sumDistinct (col) |
| from_json (oszlop, séma, opciók = ()) | tan (col) |
| from_unixtime (időbélyeg, formátum = 'éééé-hh-nn órás: hh: ss') | toDegrees (col) |
| from_utc_timestamp (időbélyeg, tz) | toRadians (col) |
| get_json_object (oszlop, útvonal) | TO_DATE (col) |
| legnagyobb (* oszlop) | to_json (oszlop, opciók = ()) |
| csoportosító (col) | to_utc_timestamp (időbélyeg, tz) |
| grouping_id (* cols) | fordítás (srcCol, illesztés, csere) |
| hash (* cols) | trim (col) |
| hex (cols) | trunc (dátum, formátum) |
| óra (col) | udf (f, returnType = StringType) |
| hipotézis (col1, col2) | unbase64 (col) |
| initcap (col) | unhex (col) |
| input_file_name () | unix_timestamp (időbélyeg = Nincs, formátum = 'éééé-hh-nn órás: hh: ss') |
| instr (str, substr) | felső (col) |
| isNaN (col) | var_pop (col) |
| ISNULL (col) | var_samp (col) |
| json_tuple (oszlop, * mezők) | variancia (col) |
| kurtosis (col) | weekofyear (col) |
| késés (oszlop, szám = 1, alapértelmezés = Nincs) | amikor (feltétel, érték) |
| utolsó (oszlop, ignorenulls = hamis) | ablak (timeColumn, windowDuration, slideDuration = Nincs, startTime = Nincs) |
| LAST_DAY (dátum) | év (col) |
| ólom (oszlop, szám = 1, alapértelmezés = nincs) | legkevesebb (* cols), világít (col) |
| hossza (col) | levenshtein (bal, jobb) |
pyspark.sql.types: Ezek az osztálytípusok az adattípus-konvertálásban használatosak. Ezen osztály használatával egy SQL objektum konvertálható natív Python objektummá.
- pyspark.sql.streaming: Ez az osztály kezeli azokat a lekérdezéseket, amelyek végrehajtása a háttérben folytatódik. A streamingben alkalmazott összes ilyen módszer állapot nélküli. A fenti beépített funkciók elérhetők az dataFrames kezelésére. Ezek a funkciók a függvénykönyvtárra hivatkozással használhatók.
- pyspark.sql.Window: Az osztály által biztosított összes módszer felhasználható a DataFrames ablakok meghatározására és az azokkal való működésére.
Következtetés
Ez az egyik eszköz a mesterséges intelligencia és a gépi tanulás területén. Egyre több vállalat használja elemzéshez és gépi tanuláshoz. A szakképzett szakemberek számára a jövőben nagyobb igény mutatkozik.
Ajánlott cikkek
Ez a PySpark SQL útmutatója. Itt megvitatjuk, mi a pyspark SQL, jellemzői, főbb felhasználásai, moduljai és beépített módszerei. A következő cikkeket is megnézheti további információkért -
- Spark DataFrame
- Spark Interjú Kérdések
- SQL dátum függvény
- SQL rendelkezés
- Apache Spark architektúra két megvalósítással
- Hogyan lehet használni a DISTINCT-t az Oracle alkalmazásban?