Procesarea Textelor și Liste cu F.split și F.explode în Apache Spark & PySpark

functions Apache Spark 3.5 / PySpark Q&A / Distribuie cod

Despachetarea șirurilor delimitate în array-uri și multiplicarea rândurilor pentru fiecare element din listă.

Sintaxă
F.split(col, regex) / F.explode(array_col) / F.explode_outer(array_col)

La prelucrarea datelor semi-structurate (ex. taguri de articole separate prin virgulă sau array-uri JSON), cele două funcții colaborează frecvent:

  • F.split(): Divizează un șir de caractere după un tipar regex și creează o coloană de tip ArrayType.
  • F.explode(): Creează câte un rând separat pentru fiecare element din array, duplicând celelalte atribute ale înregistrării părinte. Varianta explode_outer() păstrează rândul cu valoare NULL dacă array-ul este gol.
Exemplu: Normalizarea etichetelor de produse din șir în rânduri individuale
from pyspark.sql import functions as F

# Pas 1: Împărțirea șirului "tech,laptop,gaming" într-un array:
df_array = df.withColumn("lista_taguri", F.split(F.col("etichete"), ","))

# Pas 2: Explodarea fiecărui tag pe un rând de sine stătător:
df_normalizat = df_array.withColumn("tag_individual", F.explode("lista_taguri"))

df_normalizat.select("id_produs", "tag_individual").show(10)

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Procesarea Textelor și Liste cu F.split și F.explode

Ai o nelămurire despre utilizarea comenzii Procesarea Textelor și Liste cu F.split și F.explode sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.