美文网首页
spark sql 调试技巧--内置udf查看

spark sql 调试技巧--内置udf查看

作者: cda766963c7e | 来源:发表于2018-06-13 22:55 被阅读156次

    spark sql 调试技巧--内置udf查看

    Spark SQL内置了许多常用的udf,我们该如何拿到用户的udf和内置的udf呢?

    DataFrame级别

    对于DataFrame级别的udf,我们可以访问functions找到我们需要的函数。这里我们就不过多讲解。

    SQL级别

    对于sql级别其实spark是提供了查询接口的

    
    http --form POST http://localhost:9003/run/sql \
    
      sql='
    
      show functions
    
      ' 
    
    

    查询结果:

    
    [
    
        {
    
            "function": "from_json"
    
        },
    
        {
    
            "function": "to_json"
    
        },
    
        {
    
            "function": "to_timestamp"
    
        },
    
        {
    
            "function": "to_unix_timestamp"
    
        },
    
        {
    
            "function": "to_utc_timestamp"
    
        },
    
        {
    
            "function": "translate"
    
        }
    
    ]
    
    

    查询结果过多,只列出部分

    虽然我们查询到了方法,但是我们该如何去查看udf该怎么使用呢?其实spark sql也是提供了查询接口的

    我们可以用describe function extended ${function_name}语法来查看function_name如何使用。例如,我们要查询from_json如何使用:

    
    describe function extended from_json
    
    

    查询结果:

    
    [
    
        {
    
            "function_desc": "Function: from_json"
    
        },
    
        {
    
            "function_desc": "Class: org.apache.spark.sql.catalyst.expressions.JsonToStructs"
    
        },
    
        {
    
            "function_desc": "Usage: from_json(jsonStr, schema[, options]) - Returns a struct value with the given `jsonStr` and `schema`."
    
        },
    
        {
    
            "function_desc": "Extended Usage:\n    Examples:\n      > SELECT from_json('{\"a\":1, \"b\":0.8}', 'a INT, b DOUBLE');\n      {\"a\":1, \"b\":0.8}\n      > SELECT from_json('{\"time\":\"26/08/2015\"}', 'time Timestamp', map('timestampFormat', 'dd/MM/yyyy'));\n      {\"time\":\"2015-08-26 00:00:00.0\"}\n  "
    
        }
    
    ]
    
    

    通过desc我们就可以查询相关的udf的实现类,使用方法和用例。

    问题

    但是对用户注册的udf现在版本并没有提供相关的接口,注册相关信息。

    相关文章

      网友评论

          本文标题:spark sql 调试技巧--内置udf查看

          本文链接:https://www.haomeiwen.com/subject/xfoseftx.html