Spark functions常用表达式

spark functions.expr:

    functions.expr("substring([colName], [pos], [len])")                 --functions.expr("substring(text1, 0, 2)")
    functions.expr("length([colName])")
    functions.expr("lower([colName])")
    functions.expr("upper([colName])")
    functions.expr("concat([colName1],[colName2]...)")
    functions.expr("abs([colName])")
    functions.expr("ceil([colName])")
    functions.expr("floor([colName])")
    functions.expr("signum([colName])")
    functions.expr("base64([colName])")
    functions.expr("regexp_replace([colName],\"pattern\",\"replacement\")")
    functions.expr("date_format([colName],\"format\")")            --functions.expr("date_format(date1,\"yyyyMMdd\")")
    functions.expr("ifnull([colName],\"[value]\")")      --functions.expr("ifnull(text1,\"none\")")
    functions.expr("CASE WHEN ISNULL(name) THEN '空' ELSE name END")  --case when
    functions.expr("if(ifnull(name), '空', name)") --if(A>B, A, B)
    functions.expr("current_timestamp() - INTERVAL 20 MINUTE"); 减去20分钟
    dataset=dataset.select(functions.expr("*"),functions.expr("posexplode(out)AS(out1,out2)")); --explode并返回下标,所以返回两个值,不能用withColumn