这就是我在火花数据框中使用UDF的方式..
<console>:545: error: not found: value get_cus_val
df1result.withColumn("DataPartition", get_cus_val(input_file_name)).show()
但是,当我运行这个时,我得到以下错误
df1result.withColumn("DataPartition", input_file_name).show()
但是如果我这样做的话,我能够获得完整路径的文件名称。
f(x)
知道我错过了什么吗?
答案 0 :(得分:2)
这不起作用,因为您只注册SQL函数。你可以尝试
val get_cus_val = spark.udf.register("get_cus_val", (filePath: String) => filePath.split("\\.")(4))
或
df1result.selectExpr("*", "get_cus_val(input_file_name) as DataPartition").show()
答案 1 :(得分:0)
您可以尝试一下。它对我有用。
df.withColumn(“ file_name”,callUDF(“ get_cus_val”,input_file_name()))