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")))
我需要遍历数据帧的所有名称中的“名称”并获得levenshtein距离,如果它在线程保持范围内,则更新cluster_id
print(df.count())->仅演示-只是表明我无法在UDF中访问df