Menggunakan user defined functions di Spark
Anda telah melihat sebagian kemampuan fungsi string bawaan Spark saat memanipulasi DataFrame. Namun, setelah titik tertentu, pemrosesan data menjadi sulit tanpa menimbulkan tumpukan pemanggilan fungsi yang rumit. Inilah salah satu tempat di mana Anda dapat menggunakan User Defined Functions untuk memanipulasi DataFrame.
Untuk latihan ini, kita akan menggunakan DataFrame voter_df, tetapi Anda akan mengganti kolom first_name dengan gabungan nama depan dan nama tengah.
Pustaka pyspark.sql.functions tersedia dengan alias F. Kelas dari pyspark.sql.types sudah diimpor.
Latihan ini merupakan bagian dari kursus
Membersihkan Data dengan PySpark
Instruksi latihan
- Sunting fungsi
getFirstAndMiddle()agar mengembalikan string nama yang dipisahkan spasi, kecuali entri terakhir dalam list names. - Definisikan fungsi tersebut sebagai user-defined function. Fungsi harus mengembalikan tipe string.
- Buat kolom baru pada
voter_dfbernamafirst_and_middle_namemenggunakan UDF Anda. - Tampilkan DataFrame.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
def getFirstAndMiddle(names):
# Return a space separated string of names
return ' '.join(____)
# Define the method as a UDF
udfFirstAndMiddle = F.____(____, ____)
# Create a new column using your UDF
voter_df = voter_df.withColumn('first_and_middle_name', ____(____))
# Show the DataFrame
____