ÎncepețiÎncepe gratuit

Mai multe trucuri cu ID-uri

Odată ce definești un proces Spark, vei dori cel mai probabil să îl refolosești de mai multe ori. În funcție de nevoi, poate vrei ca ID-urile să înceapă de la o anumită valoare, pentru a evita suprapunerea cu rulările anterioare ale sarcinii Spark. Acest comportament este similar cu cel al ID-urilor dintr-o bază de date relațională. Ai primit sarcina de a te asigura că ID-urile generate de o sarcină Spark lunară încep de la cea mai mare valoare din luna anterioară.

Sesiunea spark și două DataFrame-uri, voter_df_march și voter_df_april, sunt disponibile în spațiul tău de lucru. Biblioteca pyspark.sql.functions este disponibilă sub aliasul F.

Acest exercițiu face parte din cursul

Curățarea datelor cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Determină cel mai mare ROW_ID din voter_df_march și salvează-l în variabila previous_max_ID. Instrucțiunea .rdd.max()[0] îți va returna ID-ul maxim.
  • Adaugă o coloană ROW_ID în voter_df_april, pornind de la valoarea previous_max_ID + 1.
  • Afișează coloanele ROW_ID din ambele DataFrame-uri și compară-le.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Determine the highest ROW_ID and save it in previous_max_ID
____ = ____.select('ROW_ID').rdd.max()[0] + 1

# Add a ROW_ID column to voter_df_april starting at the desired value
voter_df_april = ____.withColumn('ROW_ID', ____ + ____)

# Show the ROW_ID from both DataFrames and compare
____.select('ROW_ID').show()
____
Editează și rulează codul