Introduktion till PySpark SQL

Några av de nybörjande programmerarna skulle inte känna till PySpark SQL. Innan vi går igenom PySpark SQL bör vi först ha en idé om vad som är Spark SQL. Låt oss börja med Spark SQL, det är en modul i Apache Spark. Spark SQL brukade arbeta med strukturerad data. PySpark SQL är utvecklad för att stödja Python in the Spark.

PySpark SQL är Pythons samarbete med Spark SQL. Det används främst vid bearbetning av strukturerade och semistrukturerade data. API tillhandahålls av den kan läsa data från ett stort antal källor & Dessa datakällor kan vara i olika dataformat.

Vad är PySpark SQL?

Det är ett verktyg för att stödja python med Spark SQL. Det är utvecklat för att stödja Python i Spark. För korrekt förståelse av PySpark krävs kunskap om Python, Big Data & Spark. PySpark SQL får långsamt popularitet i databasprogrammerare på grund av dess viktiga funktioner.

PySpark SQL fungerar på det distribuerade systemet och det är också skalbart att det är starkt använt inom datavetenskap. I PySpark SQL-maskin tillhandahålls lärande av pythonbiblioteket. Detta Python-bibliotek är känt som ett maskininlärningsbibliotek.

Funktioner i PySpark SQL

Några av de viktiga funktionerna i PySpark SQL ges nedan:

  • Hastighet: Det är mycket snabbare än de traditionella ramarna för stor databehandling som Hadoop.
  • Kraftfull Caching: PySpark ger en enkel programmering lager som hjälper till i caching än andra ramar caching.
  • Realtid: Beräkning i PySpark SQL äger rum i minnet, det är därför det är realtid.
  • Distribution: Det kan distribueras via Hadoop eller egen klusterhanterare.
  • Polyglot: Det stöder programmering i Scala, Java, Python och R.

Det används i Big data & där det finns Big data innebär det relaterat till dataanalys. Det är det hetaste verktyget på marknaden för Big Data Analytics.

Större användningar av PySpark SQL

Nedan anges några av de sektorer där Pyspark används i majoriteten:

E-handel

Inom e-handelsbranschen lägger PySpark till en viktig roll. Det används för att förbättra användarnas tillgänglighet, tillhandahålla erbjudanden till riktade kunder, reklam till äkta kunder. Olika e-handelsbranscher som eBay, Alibaba, Flipkart, Amazon, etc. använder den för att få äkta data för marknadsföringsändamål.

Media

Olika medier som driver branscher som Youtube, Netflix, Amazon, etc. använder PySpark i huvudsak för att behandla stora data för att göra det tillgängligt för användarna. Denna bearbetning av data sker i realtid till serversidan.

Banking

Bank är en annan viktig sektor där PySpark används på en mycket stor nivå. Det hjälper finanssektorn att bearbeta realtidstransaktioner för miljoner skivhantering, reklam till äkta kunder, kreditriskbedömning etc.

PySpark-moduler

Några av de viktiga klasserna och deras egenskaper anges nedan:

  • pyspark.sql.SparkSession: Denna klass gör det möjligt för programmerare att programmera i Spark med DataFrame och SQL-funktionalitet. SparkSession används för att skapa DataFrame, registrera DataFrame som tabeller, cachetabeller, kör SQL över tabeller.
  • pyspark.sql.DataFrame: DataFrame-klassen spelar en viktig roll i den distribuerade insamlingen av data. Denna data grupperas i namngivna kolumner. Spark SQL DataFrame liknar en relationstatatabell. En DataFrame kan skapas med SQLContext-metoder.
  • pyspark.sql.Columns: En kolumninställningar i DataFrame kan skapas med denna klass.
  • pyspark.sql.Row: En rad i DataFrame kan skapas med denna klass.
  • pyspark.sql.GroupedData: GroupedData-klassen ger de aggregeringsmetoder som skapats av groupBy ().
  • pyspark.sql.DataFrameNaFunctions: Denna klass tillhandahåller funktionaliteten för att fungera med data som saknas.
  • pyspark.sql.DataFrameStatFunctions: Statistiska funktioner finns tillgängliga med DataFrames av Spark SQL. Statistikfunktionernas funktionalitet tillhandahålls av denna klass.
  • pyspark.sql.functions: Många inbyggda funktioner i Spark är tillgängliga för att fungera med DataFrames. Några av de inbyggda funktionerna ges nedan:
Inbyggda metoderInbyggda metoder
abs (col)lokalisera (substr, str, pos = 1)
Acos (col)logg (arg1, arg2 = ingen)
add_months (start, månader)log10 (col)
approxCountDistinct (col, res = none)log1p (col)
array ((cols))log2 (col)
array_contains (col, värde)lägre (col)
asc (col)LTRIM (col)
ascii (col)max (col)
asin (col)md5 (col)
en brännamedelvärde (col)
atan2min (col)
avgminut (col)
base64monotonically_increasing_id ()
binmånad (col)
bitwiseNotmonths_between (datum1, datum2)
Utsändananvl (col1, col2)
Broundnext_day (date, dayOfWeek)
CBRTntile (n)
FÖRSE MED INNERTAKpercent_rank ()
coalesce ((col))posexplode (col)
col (col)pow (col1, col2)
collect_list (col)fjärdedel (col)
collect_set (col)radianer (col)
kolonn (col)rand (frö = Ingen
concat (* cols)randn (frö = Inget)
concat_ws (sep, * col)rang()
konv. (col, fromBase, toBase)regexp_extract (str, mönster, idx)
corr (col1, col2)regexp_replace (str, mönster, ersättning)
cos (col)upprepa (col, n)
cosh (col)bakåt (col)
räkna (col)rint (col)
countDistinct (col, * cols)runda (col, skala = 0)
covar_pop (col1, col2)ROW_NUMBER ()
covar_samp (col1, col2)rpad (col, len, pad)
CRC32 (col)RTRIM (col)
create_map (* cols)andra (col)
cume_dist ()sha1 (col)
dagens datum()sha2 (col, numBits)
CURRENT_TIMESTAMP ()shiftLeft (col, numBits)
date_add (start, dagar)shiftRight (col, numBits)
date_format (datum, format)shiftRightUnedigned (col, numBits)
date_sub (start, dagar)signum (col)
datediff (slut, start)sin (col)
dayofmonth (col)sinh (col)
dayofyear (col)storlek (col)
avkoda (col, charset)skevhet (col)
grader (col)sort_array (col, asc = True)
dense_rank ()soundex (col)
desc (col)spark_partition_id ()
kod (col, charset)split (str, mönster)
exp (col)sqrt (col)
explodera (col)STD (col)
expm1 (col)stddev_pop (col)
expr (str)stddev_samp (col)
faktoriell (col)struct (* cols)
först (col, ignorenulls = False)substring (str, pos, len)
golv (col)substring_index (str, delim, count)
formatnummer (col, d)summan (col)
format_string (format, * cols)sumDistinct (col)
from_json (col, schema, optioner = ())tan (col)
från_unixtime (tidsstämpel, format = 'åååå-MM-dd HH: mm: ss')toDegrees (col)
från_utc_timestamp (tidsstämpel, tz)toRadians (col)
get_json_object (col, sökväg)to_date (col)
greatest (* cols)to_json (col, optioner = ())
gruppering (col)to_utc_timestamp (tidsstämpel, tz)
grouping_id (* cols)översätta (srcCol, matchning, ersätt)
hash (* cols)trim (col)
hex (cols)trunc (datum, format)
timme (col)udf (f, returnType = StringType)
hypot (col1, col2)unbase64 (col)
initcap (col)unhex (col)
input_file_name ()unix_timestamp (tidsstämpel = Ingen, format = 'åååå-MM-dd HH: mm: ss')
instr (str, substr)övre (col)
isNaN (col)var_pop (col)
isnull (col)var_samp (col)
json_tuple (col, * fält)varians (col)
kurtosis (col)weekofyear (col)
fördröjning (col, count = 1, default = None)när (villkor, värde)
sist (col, ignorenulls = False)fönster (timeColumn, windowsDuration, slideDuration = None, startTime = None)
LAST_DAY (datum)år (kol)
lead (col, count = 1, default = None)minst (* cols), lit (col)
längd (col)levenshtein (vänster, höger)

pyspark.sql.typ: Dessa klasstyper som används i konvertering av datatyp. Med hjälp av denna klass kan ett SQL-objekt konverteras till ett inbyggt Python-objekt.

  • pyspark.sql.streaming: Denna klass hanterar alla frågor som körs fortsätter i bakgrunden. Alla dessa metoder som används i streaming är statslösa. Ovanstående inbyggda funktioner är tillgängliga för att arbeta med dataFrames. Dessa funktioner kan användas genom att hänvisa till funktionsbiblioteket.
  • pyspark.sql.Window: Alla metoder som tillhandahålls i den här klassen kan användas för att definiera och arbeta med windows i DataFrames.

Slutsats

Det är ett av verktygen som används inom området Artificial Intelligence & Machine Learning. Det används av fler och fler företag för analys och maskininlärning. Kvalificerade yrkesverksamma i det kommer att bli mer efterfrågade i den kommande framtiden.

Rekommenderade artiklar

Detta är en guide till PySpark SQL. Här diskuterar vi vad pyspark SQL är, dess funktioner, stora användningsområden, moduler och inbyggda metoder. Du kan också titta på följande artiklar för att lära dig mer -

  1. Spark DataFrame
  2. Sparkintervjufrågor
  3. SQL Date-funktion
  4. SQL HAVING-klausul
  5. Apache gnistarkitektur med två implementationer
  6. Hur använder man DISTINCT i Oracle?