[ 
https://issues.apache.org/jira/browse/LIVY-600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16918342#comment-16918342
 ] 

mingchao zhao commented on LIVY-600:
------------------------------------

Hi [~sumitchauhan] , I tested it and found it was ok. Here is my code:

LivyClient client = new LivyClientBuilder()
 .setURI(new URI("http://localhost:8998";))
 .setConf("spark.sql.crossJoin.enabled", "true")
 .setConf("spark.app.name","livy_poc")
 .setConf("spark.executor.memory" ,"700m")
 .setConf("spark.driver.memory" ,"700m")
 .build();
client.addJar(new URI("hdfs://localhost:9000/tmp/TestUDTF.jar")).get();
client.stop(true);

> Default UDF not found when spark job is deployed through livy
> -------------------------------------------------------------
>
>                 Key: LIVY-600
>                 URL: https://issues.apache.org/jira/browse/LIVY-600
>             Project: Livy
>          Issue Type: Bug
>          Components: API, Core
>    Affects Versions: 0.6.0
>         Environment: Centos 7 , Spark 2.3.1
>            Reporter: Sumit Chauhan
>            Priority: Major
>
> First time invocation after deployment through livy works fine.
> However on subsequent invocation it is not able to find the default udf 
> written inside spark sql
>  
> implicit val client = new LivyClientBuilder()
>  .setURI(new URI("http://ABC:8998";))
>  .setConf("spark.sql.crossJoin.enabled", "true")
> etConf("spark.cassandra.connection.host",ConfigUtils.getCassConnectionHost)
>  .setConf("spark.cassandra.connection.port", "9042")
>  .setConf("spark.cassandra.auth.username", authDetails._1)
>  .setConf("spark.cassandra.auth.password", authDetails._2)
>  .setConf("spark.cassandra.output.consistency.level" ,"LOCAL_ONE")
> .setConf("spark.cassandra.output.batch.size.rows", "auto")
>  .setConf("spark.cassandra.output.concurrent.writes", "500")
>  .setConf("spark.cassandra.output.batch.size.bytes", "100000")
>  .setConf("spark.cassandra.output.throughput_mb_per_sec", "1")
>  .setConf("spark.executor.memory" ,"4G")
>  .setConf("spark.sql.crossJoin.enabled", "true")
>  .setConf("spark.app.name","livy_poc")
>  .build();
>  client.addJar(new URI("""hdfs://ABC:8020/user/livy/myJar.jar""")).get()
>  
> Stack Trace
> or a permanent function registered in the database 'default'.; line 9 pos 33
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15$$anonfun$applyOrElse$50.apply(Analyzer.scala:1200)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15$$anonfun$applyOrElse$50.apply(Analyzer.scala:1200)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.package$.withPosition(package.scala:53)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15.applyOrElse(Analyzer.scala:1199)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15.applyOrElse(Analyzer.scala:1197)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:267)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:267)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:70)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:266)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformDown$1.apply(TreeNode.scala:272)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformDown$1.apply(TreeNode.scala:272)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:306)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:187)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.mapChildren(TreeNode.scala:304)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:272)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformDown$1.apply(TreeNode.scala:272)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformDown$1.apply(TreeNode.scala:272)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:306)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:187)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.mapChildren(TreeNode.scala:304)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:272)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$transformExpressionsDown$1.apply(QueryPlan.scala:85)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$transformExpressionsDown$1.apply(QueryPlan.scala:85)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$1.apply(QueryPlan.scala:107)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$1.apply(QueryPlan.scala:107)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:70)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpression$1(QueryPlan.scala:106)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.org$apache$spark$sql$catalyst$plans$QueryPlan$$recursiveTransform$1(QueryPlan.scala:118)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$org$apache$spark$sql$catalyst$plans$QueryPlan$$recursiveTransform$1$1.apply(QueryPlan.scala:122)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.immutable.List.foreach(List.scala:381)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.immutable.List.map(List.scala:285)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.org$apache$spark$sql$catalyst$plans$QueryPlan$$recursiveTransform$1(QueryPlan.scala:122)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$2.apply(QueryPlan.scala:127)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:187)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.mapExpressions(QueryPlan.scala:127)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpressionsDown(QueryPlan.scala:85)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpressions(QueryPlan.scala:76)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$transformAllExpressions$1.applyOrElse(QueryPlan.scala:138)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$transformAllExpressions$1.applyOrElse(QueryPlan.scala:137)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:267)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:267)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:70)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:266)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.trees.TreeNode.transform(TreeNode.scala:256)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.plans.QueryPlan.transformAllExpressions(QueryPlan.scala:137)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$.apply(Analyzer.scala:1197)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$.apply(Analyzer.scala:1196)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1$$anonfun$apply$1.apply(RuleExecutor.scala:87)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1$$anonfun$apply$1.apply(RuleExecutor.scala:84)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.IndexedSeqOptimized$class.foldl(IndexedSeqOptimized.scala:57)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.IndexedSeqOptimized$class.foldLeft(IndexedSeqOptimized.scala:66)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.mutable.WrappedArray.foldLeft(WrappedArray.scala:35)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1.apply(RuleExecutor.scala:84)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1.apply(RuleExecutor.scala:76)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> scala.collection.immutable.List.foreach(List.scala:381)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.rules.RuleExecutor.execute(RuleExecutor.scala:76)
> 19/06/12 15:26:26 INFO LineBufferedStream: at 
> org.apache.spark.sql.catalyst.analysis.Analyzer.org$apache$spark$sql$catalyst$analysis$Analyzer$$executeSameContext(Analyzer.scala:124)
>  



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to