Daha fazla ID hilesi
Bir Spark süreci tanımladıktan sonra, muhtemelen onu birçok kez kullanmak isteyeceksin. İhtiyacına bağlı olarak, Spark görevinin önceki çalışmalarıyla çakışma olmasın diye kimliklerini (ID) belirli bir değerden başlatmak isteyebilirsin. Bu davranış, ilişkisel veritabanlarında ID’lerin nasıl davrandığına benzer. Aylık bir Spark görevinden çıkan ID’lerin, bir önceki aydaki en yüksek değerden başlamasını sağlaman istendi.
Çalışma alanında spark oturumu ile iki DataFrame, voter_df_march ve voter_df_april hazır. pyspark.sql.functions kütüphanesi F kısaltmasıyla kullanılabilir.
Bu egzersiz
PySpark ile Veri Temizleme
kursunun bir parçasıdırEgzersiz talimatları
voter_df_marchiçinde en yüksekROW_IDdeğerini bul veprevious_max_IDdeğişkenine kaydet..rdd.max()[0]ifadesi en yüksek ID’yi getirir.voter_df_aprilDataFrame’ineprevious_max_ID+ 1 değerinden başlayacak birROW_IDsütunu ekle.- Her iki DataFrame’deki
ROW_IDdeğerlerini göster ve karşılaştır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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()
____