(可选)安装并执行Spark UDF业务
仅在使用OmniOperator算子加速UDF功能的情况下,才需要执行Spark UDF业务,执行前需先执行Spark引擎业务。当前的OmniOperator算子加速UDF插件仅支持Simple UDF,若OmniOperator算子加速UDF不支持,会回退到原生Spark。
安装Spark UDF插件
- 请确认安装Spark UDF插件前已经按照安装SparkExtension完成Spark引擎的安装。
- 将UDF依赖的JAR放置到HDFS的“/user/hive-udf”目录下。
- “/user/hive-udf”目录用户可自行定义。
- UDF依赖的JAR需要用户自行提供。
- 在集群的管理节点注册Hive UDF。
执行Spark UDF业务
执行步骤请参见执行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
- 3.1.1版本追加后结果如下。
- 在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
- 3.1.1版本追加后结果如下。
- 添加--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
父主题: 在Spark引擎上的应用