Dizi sütunuyla pratik
udf adlı SQL fonksiyonu mevcut ve DataFrame[doc: array<string>, in: array<string>, out: array<string>] tipinde bir df_before veri çerçevesi de mevcut.
TRIVIAL_TOKENS değişkeni bir kümedir. İçinde kaldırmak istediğimiz bazı kelimeler bulunur.
Bu egzersiz
Python ile Spark SQL'e Giriş
kursunun bir parçasıdırEgzersiz talimatları
dociçinde5öğesini içerendf_beforesatırlarını göster.- Bir dizi sütunundan
TRIVIAL_TOKENSiçindeki öğeleri kaldıran bir udf oluştur. Sıralamanın korunması gerekmez. df2içindekiinveoutsütunlarında,TRIVIAL_TOKENSiçinde yer alan token'ları kaldır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Show the rows where doc contains the item '5'
df_before.where(array_contains('doc', '____')).show()
# UDF removes items in TRIVIAL_TOKENS from array
rm_trivial_udf = udf(lambda x:
list(set(x) - ____) if x
else x,
ArrayType(____()))
# Remove trivial tokens from 'in' and 'out' columns of df2
df_after = df_before.withColumn('in', ____('in'))\
.withColumn('out', ____('out'))
# Show the rows of df_after where doc contains the item '5'
df_after.where(array_contains('doc','5')).show()