我正在尝试在scala spark中注册一个udf,就像这样,在hive中注册下面的udf就可以了 create temporary function udf_parallax as 'com..edw.hww.etl.udf.parallax.ParallaxHiveHash' USING JAR 's3://bx-analytics-softwares/gdpr_hive_udfs/gdpr-hive-udfs-hadoop.jar'
```
val sparkSess = SparkSession.builder()
.appName("Opens")
.enableHiveSupport()
.config("set hive.exec.dynamic.partition.mode", "nonstrict").getOrCreate()
sparkSess.sql("""create temporary function udf_parallax as 'com.abc.edw.hww.etl.udf.parallax.ParallaxHiveHash' USING JAR 's3://bx-analytics-softwares/gdpr_hive_udfs/gdpr-hive-udfs-hadoop.jar'""");
我听到一个错误说 `Exception in thread "main" java.net.MalformedURLException: unknown protocol: s3` 想知道我是否要设置配置或其他东西,我刚刚开始学习。
感谢您的帮助。
1条答案
按热度按时间8zzbczxx1#
为什么不将这个gdpr-hive-udfs-hadoop.jar作为外部jar添加到您的项目中,然后执行以下操作来注册udf:
更新:
1.如果您的配置单元正在远程服务器上运行:
2.如果配置单元未在远程服务器上运行:
将hive-site.xml从/hive/conf/目录复制到/spark/conf/目录,并创建您在问题中提到的sparksession