我已经在雪花中创建并注册了临时的udf,使用雪花scala。我的代码附在下面。当我试图运行这段代码时,我会出错。我假设还有其他与雪花有关的udf。任何线索都会有很大帮助
session.udf.registerTemporary("lookupFromArrayUdf", (s: Array[String], schema: String, table: String, config: String, colName: String, action: String) => {
implicit val formats: DefaultFormats.type = net.liftweb.json.DefaultFormats
....code goes here....
})我得到的THe错误在下面
Exception in thread "main" net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: Found a function matching HASHSENSITIVESTRINGUDF, but IMPORTS or TARGET_PATH could not be resolved.
at net.snowflake.client.jdbc.SnowflakeUtil.checkErrorAndThrowExceptionSub(SnowflakeUtil.java:127)
at net.snowflake.client.jdbc.SnowflakeUtil.checkErrorAndThrowException(SnowflakeUtil.java:67)
at net.snowflake.client.core.StmtUtil.pollForOutput(StmtUtil.java:442)
at net.snowflake.client.core.StmtUtil.execute(StmtUtil.java:345)
at net.snowflake.client.core.SFStatement.executeHelper(SFStatement.java:487)
at net.snowflake.client.core.SFStatement.executeQueryInternal(SFStatement.java:198)
at net.snowflake.client.core.SFStatement.executeQuery(SFStatement.java:135)
at net.snowflake.client.core.SFStatement.describe(SFStatement.java:154)
at net.snowflake.client.jdbc.SnowflakePreparedStatementV1.describeSqlIfNotTried(SnowflakePreparedStatementV1.java:96)
at net.snowflake.client.jdbc.SnowflakePreparedStatementV1.getMetaData(SnowflakePreparedStatementV1.java:549)
at com.snowflake.snowpark.internal.ServerConnection.$anonfun$getResultAttributes$1(ServerConnection.scala:500)
at com.snowflake.snowpark.internal.ServerConnection.withValidConnection(ServerConnection.scala:810)
at com.snowflake.snowpark.internal.ServerConnection.getResultAttributes(ServerConnection.scala:478)
at com.snowflake.snowpark.Session.getResultAttributes(Session.scala:841)
at com.snowflake.snowpark.internal.SchemaUtils$.analyzeAttributes(SchemaUtils.scala:44)
at com.snowflake.snowpark.internal.analyzer.SnowflakePlan.attributes$lzycompute(SnowflakePlan.scala:39)
at com.snowflake.snowpark.internal.analyzer.SnowflakePlan.attributes(SnowflakePlan.scala:38)
at com.snowflake.snowpark.internal.analyzer.SnowflakePlan.output$lzycompute(SnowflakePlan.scala:94)
at com.snowflake.snowpark.internal.analyzer.SnowflakePlan.output(SnowflakePlan.scala:94)
at com.snowflake.snowpark.DataFrame.output$lzycompute(DataFrame.scala:2580)
at com.snowflake.snowpark.DataFrame.output(DataFrame.scala:2580)
at com.snowflake.snowpark.DataFrame.withColumns(DataFrame.scala:1877)
at com.snowflake.snowpark.DataFrame.withColumn(DataFrame.scala:1834)
at us.company.snowpark.app.SnowparkAppUdfDriver$.$anonfun$processVariantColumn$2(SnowparkAppUdfDriver.scala:364)
at scala.collection.LinearSeqOptimized.foldLeft(LinearSeqOptimized.scala:126)
at scala.collection.LinearSeqOptimized.foldLeft$(LinearSeqOptimized.scala:122)
at scala.collection.immutable.List.foldLeft(List.scala:91)
at us.company.snowpark.app.SnowparkAppUdfDriver$.processVariantColumn(SnowparkAppUdfDriver.scala:364)
at us.company.snowpark.app.SnowparkAppUdfDriver$.$anonfun$applyHashing$6(SnowparkAppUdfDriver.scala:425)
at scala.collection.TraversableOnce$folder$1.apply(TraversableOnce.scala:196)
at scala.collection.TraversableOnce$folder$1.apply(TraversableOnce.scala:194)
at scala.collection.Iterator.foreach(Iterator.scala:943)
at scala.collection.Iterator.foreach$(Iterator.scala:943)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
at scala.collection.MapLike$DefaultKeySet.foreach(MapLike.scala:181)
at scala.collection.TraversableOnce.foldLeft(TraversableOnce.scala:199)
at scala.collection.TraversableOnce.foldLeft$(TraversableOnce.scala:192)
at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:108)
at us.company.snowpark.app.SnowparkAppUdfDriver$.applyHashing(SnowparkAppUdfDriver.scala:425)
at us.company.snowpark.app.SnowparkAppUdfDriver$.process(SnowparkAppUdfDriver.scala:454)
at us.company.snowpark.app.SnowparkAppUdfDriver$.main(SnowparkAppUdfDriver.scala:178)
at us.company.snowpark.app.SnowparkAppUdfDriver.main(SnowparkAppUdfDriver.scala)发布于 2022-04-07 09:24:39
问题:我只是将依赖jar保存在这个阶段,但是应用程序jar也需要出现在雪花阶段
解决方案:当我将整个应用程序jar上传到舞台上时,问题就解决了。
https://stackoverflow.com/questions/71764291
复制相似问题