UDF - мне нужно пройти через фрейм данных, чтобы выполнить определенную операцию. Я понимаю, что не могу получить доступ к полному набору данных в формате udf. Но каково это решение?
def process(spark: SparkSession, df: DataFrame): DataFrame = {
def udf_func = udf((name: String, cluster_id: String) => {
print(df.count()) <-- thisline
cluster_id
})
val newdf = df.withColumn("cluster_id", udf_func(df("name"),df("cluster_id")))
Мне нужно пройти «имя» по всем именам информационного кадра и получить расстояние Левенштейна, если оно находится в пределах потока, я обновляю cluster_id
print (df.count ()) -> Только для демонстрации - просто чтобы показать, что я не могу получить доступ к df в UDF