文档

SparkSQL UDF基础操作

更新时间:

Spark SQL提供了很多内建函数来满足您的计算需求,您也可以通过创建自定义函数(UDF)来满足不同的计算需求。UDF在使用上与普通的内建函数类似。本文为您介绍Spark SQL中使用Hive自定义函数的流程。

前提条件

已在Hive中创建了UDF,详情请参见开发UDF

使用Hive UDF

  1. 使用文件传输工具,上传生成的JAR包至集群任意目录(本文以test目录为例)。

  2. 上传JAR包至HDFS或OSS(本文以HDFS为例)。

    1. 通过SSH方式登录集群,详情请参见登录集群

    2. 执行以下命令,上传JAR包到HDFS。

      hadoop fs -put /test/hiveudf-1.0-SNAPSHOT.jar /user/hive/warehouse/

      您可以通过hadoop fs -ls /user/hive/warehouse/命令,查看是否上传成功。待返回信息如下所示表示上传成功。

      Found 1 items
      -rw-r--r--   1 xx xx 2668 2021-06-09 14:13 /user/hive/warehouse/hiveudf-1.0-SNAPSHOT.jar
  3. 创建UDF函数。

    1. 执行以下命令,进入Spark SQL命令行。

      spark-sql
    2. 执行以下命令,应用生成的JAR包创建函数。

      create function myfunc as "org.example.MyUDF" 
      using jar "hdfs:///user/hive/warehouse/hiveudf-1.0-SNAPSHOT.jar";
      说明

      代码中的myfunc是UDF函数的名称,org.example.MyUDF是开发UDF中创建的类,hdfs:///user/hive/warehouse/hiveudf-1.0-SNAPSHOT.jar为上传JAR包到HDFS的路径。

  4. 执行以下命令,使用UDF函数。

    该函数与内置函数使用方式一样,直接使用函数名称即可访问。

    select myfunc("abc");

    返回如下信息。

    OK
    abc:HelloWorld
  • 本页导读 (1)
文档反馈