1
object SparkUDFApp {
def main(args: Array[String]) {
val df = ctx.read.json(".../example.json")
df.registerTempTable("example")
val fn = (_: String).length // % 10
ctx.udf.register("len10", fn)
val res0 = ctx sql "SELECT len10('id') FROM example LIMIT 1" map {_ getInt 0} collect
println(res0.head)
}
}
JSON示例代码
{"id":529799371026485248,"text":"Example"}
的代码应返回从JSON字段值的长度(例如,“ ID'具有值18)。但不是返回'18',而是返回'2',这是'id'的长度,我想。
所以我的问题是如何重写UDF来解决它?