Azure'da Jupyter'de PySpark kullanıyorum. UDF, bir veri ağı üzerinde UDF kullanarak test etmeye çalışıyorum, ancak UDF çalışmıyor. Ben 100 satır doldurulur bu dataframe doğrulamıştırPySpark: UDF bir dataframe üzerinde çalışmıyor
users = sqlContext.sql("SELECT DISTINCT userid FROM FoodDiaryData")
:
Benim dataframe tarafından oluşturulur. Bir sonraki hücrede basit bir udf yürütmeye çalışıyorum.
def iterateMeals(user):
print user
users.foreach(iterateMeals)
Bu, çıktı üretmez. Veritabanındaki her girişin basılmış olmasını beklerdim. Ancak, sadece iterateMeals('test')
'u deneyebilirsem, 'test' yazdıracak ve basacaktır.
Py4JError: Ben de aşağıdaki hatayı alırsınız,
from pyspark.sql.functions import udf
def iterateMeals(user):
print user
f_iterateMeals = udf(iterateMeals,LongType())
users.foreach(f_iterateMeals)
Bunu deneyin pyspark.sql.functions
kullanarak çalıştı o461 çağıran bir hata oluştu. getnewargs. Trace: py4j.Py4JException: Ben yanlış gitti nerede
birisi açıklayabilir Yöntem getnewargs ([]) yok? Bu uygulama için .foreach
veri çerçevelerinin içinde udfs'yi çalıştırmaya ihtiyacım olacak. print
işçi düğümlerde yürütülen ve ilgili çıkışa gider çünkü