Daha fazla ayrıştırma
Bu veri kümesini önceki haline göre epey farklı bir formata dönüştürdün, ancak yapılacak birkaç şey daha var. Sütun verilerini sonraki analizlerde kullanılmak üzere hazırlaman ve birkaç ara sütunu kaldırman gerekiyor.
spark bağlamı hazır ve pyspark.sql.functions F olarak kısaltıldı. pyspark.sql.types türleri zaten içe aktarıldı. split_df DataFrame'i bıraktığın yerden devam ediyor. Unutma, sütun adlarını ve türlerini görmek için konsolda bir DataFrame üzerinde .printSchema() kullanabilirsin.
⚠️ Not: Bir AttributeError görürsen, egzersizleri yenile ve Kodu Çalıştır'a tıklamadan Çözümü Çalıştır'a tıkla.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Veri Temizleme
Egzersiz talimatları
retrieveradlı, iki argüman alan yeni bir fonksiyon oluştur: bölünmüş sütunlar (cols) ve toplam sütun sayısı (colcount). Bu fonksiyon, henüz sütun olarak tanımlanmamış girdilerin listesini döndürmeli (yani listedeki 4. öğeden sonraki her şey).- Fonksiyonu, String dizisi döndüren bir Spark UDF olarak tanımla.
- UDF'yi ve DataFrame'deki mevcut sütunları kullanarak
dog_listadlı yeni sütunu oluştur. _c0,colcountvesplit_colssütunlarını kaldır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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('____').____('____').____('____')