'scala udf is not running in snowpark

I have created and registered temporary udf in snowflake using snowpark scala. My code is attached below. I am getting error when I try to run this code. I am assuming there is something else to do with snowflake udf. Any leads would be of great help

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 error I am getting is below

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)



Solution 1:[1]

Problem: I just kept the dependencies jar in the stage but the application jar is also needed to be present in Snowflake Stage

Resolution: The issue got resolved when I uploaded the entire application jar to the stage.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dineshvarma Guduru