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?