鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

(可选)安装并执行Spark UDF业务

仅在使用OmniOperator算子加速UDF功能的情况下,才需要执行Spark UDF业务,执行前需先执行Spark引擎业务。当前的OmniOperator算子加速UDF插件仅支持Simple UDF,若OmniOperator算子加速UDF不支持,会回退到原生Spark。

安装Spark UDF插件

  1. 请确认安装Spark UDF插件前已经按照安装SparkExtension完成Spark引擎的安装。
  2. 将UDF依赖的JAR放置到HDFS的“/user/hive-udf”目录下。
    • “/user/hive-udf”目录用户可自行定义。
    • UDF依赖的JAR需要用户自行提供。
  3. 在集群的管理节点注册Hive UDF。

    注册方式参考Spark集成Hive UDF官方文档

执行Spark UDF业务

SQL执行、执行计划查看及结果对比方式等,请参见执行Spark引擎业务

执行步骤请参见执行Spark引擎业务,只需在SparkExtension的Spark-SQL命令行窗口启动命令基础上补充如下命令参数即可。

  • 在spark.driver.extraClassPath参数后追加/opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar。
    • 3.1.1版本追加后结果如下。
      1
      --conf spark.driver.extraClassPath=/opt/omni-operator/lib/boostkit-omniop-spark-3.1.1-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-bindings-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar:/opt/omni-operator/lib/dependencies/protobuf-java-3.15.8.jar:/opt/omni-operator/lib/dependencies/boostkit-omniop-native-reader-3.1.1-1.5.0.jar
      
    • 3.3.1版本追加后结果如下。
      1
      --conf spark.driver.extraClassPath=/opt/omni-operator/lib/boostkit-omniop-spark-3.3.1-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-bindings-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar:/opt/omni-operator/lib/dependencies/protobuf-java-3.15.8.jar:/opt/omni-operator/lib/dependencies/boostkit-omniop-native-reader-3.3.1-1.5.0.jar
      
  • 在spark.executor.extraClassPath参数后追加/opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar。
    • 3.1.1版本追加后结果如下。
      1
      --conf spark.executor.extraClassPath=/opt/omni-operator/lib/boostkit-omniop-spark-3.1.1-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-bindings-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar:/opt/omni-operator/lib/dependencies/protobuf-java-3.15.8.jar:/opt/omni-operator/lib/dependencies/boostkit-omniop-native-reader-3.1.1-1.5.0.jar
      
    • 3.3.1版本追加后结果如下。
      1
      --conf spark.executor.extraClassPath=/opt/omni-operator/lib/boostkit-omniop-spark-3.3.1-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-bindings-1.5.0-aarch64.jar:/opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar:/opt/omni-operator/lib/dependencies/protobuf-java-3.15.8.jar:/opt/omni-operator/lib/dependencies/boostkit-omniop-native-reader-3.3.1-1.5.0.jar
      
  • 添加--jars /opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar参数。
    1
    --jars /opt/omni-operator/lib/boostkit-omniop-udf-1.5.0-aarch64.jar