[
https://issues.apache.org/jira/browse/SPARK-11990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15027614#comment-15027614
]
Rekha Joshi commented on SPARK-11990:
-------------------------------------
Hi [~tianyi],
I am on Spark 1.6.0-SNAPSHOT and get below on optimized logical plan.Please
confirm this is what you see and that it needs to be more optimized for
heavier UDF's?Thanks.
{panel:title=DataFrame plan for UDF}
== Parsed Logical Plan ==
'Project [*,arr#2[1] AS e1#4]
Project [a#1,arr#2,arr#2[0] AS e0#3]
Project [a#1,UDF(a#1) AS arr#2]
Project [_1#0 AS a#1]
LogicalRDD [_1#0], MapPartitionsRDD[1] at stringRddToDataFrameHolder at
<console>:27
== Analyzed Logical Plan ==
a: string, arr: array<string>, e0: string, e1: string
Project [a#1,arr#2,e0#3,arr#2[1] AS e1#4]
Project [a#1,arr#2,arr#2[0] AS e0#3]
Project [a#1,UDF(a#1) AS arr#2]
Project [_1#0 AS a#1]
LogicalRDD [_1#0], MapPartitionsRDD[1] at stringRddToDataFrameHolder at
<console>:27
== Optimized Logical Plan ==
Project [_1#0 AS a#1,UDF(_1#0) AS arr#2,UDF(_1#0)[0] AS e0#3,UDF(_1#0)[1] AS
e1#4]
LogicalRDD [_1#0], MapPartitionsRDD[1] at stringRddToDataFrameHolder at
<console>:27
== Physical Plan ==
Project [_1#0 AS a#1,UDF(_1#0) AS arr#2,UDF(_1#0)[0] AS e0#3,UDF(_1#0)[1] AS
e1#4]
Scan PhysicalRDD[_1#0]
{panel}
> DataFrame recompute UDF in some situation.
> ------------------------------------------
>
> Key: SPARK-11990
> URL: https://issues.apache.org/jira/browse/SPARK-11990
> Project: Spark
> Issue Type: Bug
> Components: SQL
> Affects Versions: 1.5.1
> Reporter: Yi Tian
>
> Here is codes for reproducing this problem:
> {code}
> val mkArrayUDF = org.apache.spark.sql.functions.udf[Array[String],String]
> ((s: String) => {
> println("udf called")
> Array[String](s+"_part1", s+"_part2")
> })
>
> val df = sc.parallelize(Seq(("a"))).toDF("a")
> val df2 = df.withColumn("arr",mkArrayUDF(df("a")))
> val df3 = df2.withColumn("e0", df2("arr")(0)).withColumn("e1",
> df2("arr")(1))
> df3.collect().foreach(println)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]