小编Roh*_*wal的帖子

将两列传递给scala中的udf?

我有一个包含两列的数据框,一列是数据,另一列是该数据字段中的字符数.

Data    Count
Hello   5
How     3
World   5
Run Code Online (Sandbox Code Playgroud)

我想根据count列中的值更改列数据的值.怎么能实现这一目标?我用udf尝试了这个:

invalidrecords.withColumn("value",appendDelimiterError(invalidrecords("value"),invalidrecords("a_cnt")))
Run Code Online (Sandbox Code Playgroud)

这似乎失败了,这是正确的方法吗?

scala user-defined-functions apache-spark

4
推荐指数
1
解决办法
1万
查看次数

将参数传递给Scala udf

我在数据框的特定列上调用udf,在其中检查所有值是否均按照指定的日期格式有效。

sourcefile = sourcefile.withColumn(column, DateConversion(col(column)))
Run Code Online (Sandbox Code Playgroud)

这里DateConversion是我的udf。我在这里的问题是,有没有一种方法可以将有效的日期格式“ yyyy / MM / dd”作为字符串传递给此udf,可以在udf中内部使用以进行验证。

我在尝试

sourcefile = sourcefile.withColumn(column, DateConversion(col(column),"yyyy/MM/dd"))
Run Code Online (Sandbox Code Playgroud)

但这给与错误。

scala user-defined-functions apache-spark apache-spark-sql

1
推荐指数
2
解决办法
4146
查看次数