在udf

时间:2018-09-13 21:36:26

标签: scala loops apache-spark dataframe user-defined-functions

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

0 个答案:

没有答案