Lavoro quotidianamente con PySpark in Databricks. Il mio lavoro come Data Scientist mi richiede di gestire grandi quantità di dati in molte tabelle diverse. È un lavoro impegnativo, molte volte.
Tanto quanto il Estrai, trasforma e carica (ETL) processo sembra qualcosa di semplice, posso dire che non è sempre così. Quando lavoriamo con i Big Data, gran parte del nostro modo di pensare deve cambiare per due motivi:
- Le quantità di dati sono molto più grandi dei normali set di dati.
- Quando si lavora con il calcolo parallelo in cluster, dobbiamo tenere conto del fatto che i dati verranno suddivisi tra molti nodi di lavoro per eseguire parte del lavoro e quindi essere riuniti nel loro insieme. E questo processo, molte volte, può richiedere molto tempo se la query è troppo complessa.
Sapendo questo, dobbiamo imparare come scrivere query intelligenti per i Big Data. In questo post, mostrerò alcune delle mie funzioni preferite del modulo pyspark.sql.functions
con l’obiettivo di aiutarti durante la gestione dei dati in PySpark.
Passiamo ora al contenuto di questo post.
Proprio come molti altri linguaggi, PySpark ha il vantaggio dei moduli, dove puoi trovare molte funzioni pronte all’uso per gli scopi più diversi. Ecco quello che caricheremo nella nostra sessione:
from pyspark.sql import functions as F
Se vuoi vedere quanto è esteso l’elenco delle funzioni all’interno pyspark.sql.functions
, vai a questo sito webdove si trova il riferimento API. Tieni presente che questo è per la versione 3.5.0. Alcune versioni precedenti potrebbero non avere tutte le funzioni che mostrerò in questo post.
Set di dati
Il set di dati da utilizzare come esempio è il file Diamantida ggplot2, condiviso sotto LA MIA Licenza.
# Point file path
path = '/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv'# Load Data
df = spark.read.csv(path, header=True, inferSchema= True)
Creazione e indice della colonna
Fonte: towardsdatascience.com