Mulai sekarangMulai gratis

Penguraian lanjutan

Anda telah membentuk himpunan data ini menjadi format yang jauh berbeda dari sebelumnya, tetapi masih ada beberapa hal yang perlu dilakukan. Anda perlu menyiapkan data kolom untuk digunakan pada analisis berikutnya dan menghapus beberapa kolom perantara.

Konteks spark tersedia dan pyspark.sql.functions dialiaskan sebagai F. Tipe data dari pyspark.sql.types sudah diimpor. DataFrame split_df berada pada kondisi terakhir Anda meninggalkannya. Ingat, Anda dapat menggunakan .printSchema() pada sebuah DataFrame di area konsol untuk melihat nama dan tipe kolom.

⚠️ Catatan: Jika Anda melihat AttributeError, segarkan latihan lalu klik Run Solution tanpa mengeklik Jalankan Kode.

Latihan ini merupakan bagian dari kursus

Membersihkan Data dengan PySpark

Lihat Kursus

Instruksi latihan

  • Buat fungsi baru bernama retriever yang menerima dua argumen, kolom hasil pemisahan (cols) dan jumlah total kolom (colcount). Fungsi ini harus mengembalikan daftar entri yang belum didefinisikan sebagai kolom (yakni, semua elemen setelah item ke-4 dalam daftar).
  • Definisikan fungsi tersebut sebagai Spark UDF, yang mengembalikan Array berisi string.
  • Buat kolom baru dog_list menggunakan UDF dan kolom-kolom yang tersedia dalam DataFrame.
  • Hapus kolom _c0, colcount, dan split_cols.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

def retriever(____, ____):
  # Return a list of dog data
  return ____[4:____]

# Define the method as a UDF
udfRetriever = ____(____, ArrayType(____))

# Create a new column using your UDF
split_df = split_df.withColumn('dog_list', ____(____, ____))

# Remove the original column, split_cols, and the colcount
split_df = split_df.drop('____').____('____').____('____')
Edit dan Jalankan Kode