Metodo di substring Pyspark

Metodo di substring Pyspark
La libreria Pyspark è un motore di elaborazione distribuito per uso generale, in memoria, che consente di gestire i dati su più macchine in modo efficiente. Uno dei suoi metodi popolari è il substring (), che è utile per ottenere una sottostringa da una determinata colonna, insieme ai suoi esempi. Ci immergiamo e sappiamo di più su questa biblioteca e sul suo metodo di sottostringa.

Cos'è Pyspark?

Pyspark è una delle lingue supportate da Spark. Spark è una tecnologia di elaborazione dei big data in grado di gestire i dati su una scala di petabyte. È possibile sviluppare applicazioni Spark per elaborare i dati ed eseguirli sulla piattaforma Spark utilizzando PysPark. L'AWS offre EMR gestito e la piattaforma Spark. È possibile utilizzare pyspark per elaborare i dati e stabilire un cluster EMR su AWS. PysPark può leggere i dati da CSV, parquet, JSON e database.

Poiché Spark è per lo più implementato in Scala, la creazione di App Spark in Scala o Java ti consente di accedere a più delle sue funzionalità che a scrivere programmi Spark in Python o R. Pyspark non supporta attualmente il set di dati. Per qualcuno che persegue una scienza dei dati, Pyspark è un'opzione migliore di Scala perché ci sono molte biblioteche di scienze dei dati popolari scritte in Python come Numpy, Tensorflow e Scikit-Learn. Per set di dati più piccoli, vengono utilizzati i panda, mentre, per set di dati più grandi, viene impiegato Pyspark.

In confronto a Pyspark, Pandas fornisce risultati più rapidi. A seconda della limitazione della memoria e delle dimensioni dei dati, è possibile scegliere tra Pyspark E Panda per migliorare le prestazioni. Usa sempre i panda su pyspark quando l'elaborazione dei dati è sufficiente per adattarsi alla memoria.

Il set di dati resilienti distribuiti (RDD) è il sofisticato meccanismo sottostante dei dati di scintilla. I dati sono resilienti, il che implica che se un sistema con i dati fallisce, i dati vengono replicati altrove e possono essere ripristinati. Distribuito significa che i dati sono divisi tra le macchine 'n', consentendo di accelerare teoricamente un processo gestendo anche enormi quantità di dati. Una delle ramificazioni del calcolo distribuito è che i dati devono essere sincronizzati con estrema cautela. Spark richiede una programmazione funzionale, il che significa che le funzioni non devono avere effetti collaterali per prevenire molte di queste preoccupazioni. Di conseguenza, se si desidera modificare una tabella, devi prima creare una nuova tabella.

Molti programmatori non hanno familiarità con il concetto di programmazione funzionale. Pyspark non fa un buon lavoro nel rendere trasparente RDD. L'API raccoglie parte della spiacevolezza dell'ambiente RDD. La programmazione funzionale, ad esempio, significa che una funzione non può avere effetti collaterali (il che rende coerente i dati molto più duramente). Un altro esempio è la valutazione "pigra", che consente a Spark di aspettare fino a quando non ha un quadro completo di ciò che stai cercando di ottenere prima di tentare di ottimizzare i processi. Spark è diventata rapidamente la tecnologia preferita del settore per l'elaborazione dei dati. Tuttavia, non è il primo. Prima di Spark, il motore di elaborazione era mapReduce. Spark è ampiamente utilizzato nelle industrie su sistemi di archiviazione distribuiti come Hadoop, Mesos e Cloud. È fondamentale comprendere i sistemi di archiviazione distribuita e come operano.

Qual è il metodo substring () in pyspark?

Il metodo substring () in pyspark estrae una sottostringa da una colonna di dati del tipo di stringa specificando la sua lunghezza e posizione.

SQL Funzione Substring ()

Possiamo ottenere una sottostringa di una stringa usando il sottostringa(() funzione di pyspark.SQL.funzioni Modulo fornendo l'indice e la lunghezza della stringa che desideriamo tagliare. Ecco un esempio di utilizzo di questo metodo:

Substring (STR, POS, LEN)
data = [(1, "20210828"), (2, "20190725")]
colonne = ["id", "data"]
df = scintilla.creatotaframe (dati, colonne)
df.WithColumn ('Year', Substring ('Date', 1,4)) \
.WithColumn ('Month', Substring ('Date', 5,2)) \
.WithColumn ('Day', Substring ('Date', 7,2))
df.printschema ()
df.show (truncate = false)

Utilizzo di substring () con select ()

Usando Selezionare In Pyspark, possiamo ottenere la sottostringa di una colonna.

df.Seleziona ('Date', Substring ('Date', 1,4).alias ('anno'), \
substring ('data', 5,2).alias ('mese'), \
substring ('data', 7,2).alias ('giorno'))

Utilizzo di substring () con selectExpr ()

L'esempio dell'uso SelectExpr Metodo per ottenere l'anno, il mese e il giorno come sottostringi della colonna (data) è il seguente:

df.SelectExpr ('Date', 'substring (data, 1,4) come anno', \
'substring (data, 5,2) come mese', \
'substring (data, 7,2) come giorno')

Utilizzo di substr () dal tipo di colonna

Ottieni la sottostringa usando il substr() funzione da pyspark.SQL.Colonna Digita Pyspark.

df3 = df.WithColumn ('Year', Col ('Date').substr (1, 4)) \
.WithColumn ('Month', Col ('Date').substr (5, 2)) \
.withColumn ('Day', col ('data').substr (7, 2))

5. Metterlo insieme

importare pyspark
da pyspark.SQL Importazione di importazione
da pyspark.SQL.funzioni importanti col, sottostringa
Spark = Sparksession.costruttore.appname ("demo").getOrCreate ()
data = [(1, "20210828"), (2, "20190725")]
colonne = ["id", "data"]
df = scintilla.creatotaframe (dati, colonne)
df.WithColumn ('Year', Substring ('Date', 1,4)) \
.WithColumn ('Month', Substring ('Date', 5,2)) \
.WithColumn ('Day', Substring ('Date', 7,2))
df.printschema ()
df.show (truncate = false)
df.Seleziona ('Date', Substring ('Date', 1,4).alias ('anno'), \
substring ('data', 5,2).alias ('mese'), \
substring ('data', 7,2).alias ('giorno'))
df.SelectExpr ('Date', 'substring (data, 1,4) come anno', \
'substring (data, 5,2) come mese', \
'substring (data, 7,2) come giorno')
df3 = df.WithColumn ('Year', Col ('Date').substr (1, 4)) \
.WithColumn ('Month', Col ('Date').substr (5, 2)) \
.withColumn ('Day', col ('data').substr (7, 2))

Conclusione

Abbiamo discusso di Pyspark, un sistema di elaborazione dei big data in grado di gestire i petabyte di dati e il suo metodo di substring () insieme ai suoi pochi esempi.