I understand. I sort of drew the same conclusion. But I wasn’t sure. Thanks everyone for taking time on this.
On Wed, Aug 2, 2023 at 2:29 PM Ruifeng Zheng <zrfli...@gmail.com> wrote: > In Spark Connect, I think the only API to show optimized plan is > `df.explain("extended")` as Winston mentioned, but it is not a LogicalPlan > object. > > On Wed, Aug 2, 2023 at 4:36 PM Vibhatha Abeykoon <vibha...@gmail.com> > wrote: > >> Hello Ruifeng, >> >> Thank you for these pointers. Would it be different if I use the Spark >> connect? I am not using the regular SparkSession. I am pretty new to these >> APIs. Appreciate your thoughts. >> >> On Wed, Aug 2, 2023 at 2:00 PM Ruifeng Zheng <zrfli...@gmail.com> wrote: >> >>> Hi Vibhatha, >>> I think those APIs are still avaiable? >>> >>> >>> >>> ``` >>> Welcome to >>> ____ __ >>> / __/__ ___ _____/ /__ >>> _\ \/ _ \/ _ `/ __/ '_/ >>> /___/ .__/\_,_/_/ /_/\_\ version 3.4.1 >>> /_/ >>> >>> Using Scala version 2.12.17 (OpenJDK 64-Bit Server VM, Java 11.0.19) >>> Type in expressions to have them evaluated. >>> Type :help for more information. >>> >>> scala> val df = spark.range(0, 10) >>> df: org.apache.spark.sql.Dataset[Long] = [id: bigint] >>> >>> scala> df.queryExecution >>> res0: org.apache.spark.sql.execution.QueryExecution = >>> == Parsed Logical Plan == >>> Range (0, 10, step=1, splits=Some(12)) >>> >>> == Analyzed Logical Plan == >>> id: bigint >>> Range (0, 10, step=1, splits=Some(12)) >>> >>> == Optimized Logical Plan == >>> Range (0, 10, step=1, splits=Some(12)) >>> >>> == Physical Plan == >>> *(1) Range (0, 10, step=1, splits=12) >>> >>> scala> df.queryExecution.optimizedPlan >>> res1: org.apache.spark.sql.catalyst.plans.logical.LogicalPlan = >>> Range (0, 10, step=1, splits=Some(12)) >>> ``` >>> >>> >>> >>> On Wed, Aug 2, 2023 at 3:58 PM Vibhatha Abeykoon <vibha...@gmail.com> >>> wrote: >>> >>>> Hi Winston, >>>> >>>> I need to use the LogicalPlan object and process it with another >>>> function I have written. In earlier Spark versions we can access that via >>>> the dataframe object. So if it can be accessed via the UI, is there an API >>>> to access the object? >>>> >>>> On Wed, Aug 2, 2023 at 1:24 PM Winston Lai <weiruanl...@gmail.com> >>>> wrote: >>>> >>>>> Hi Vibhatha, >>>>> >>>>> How about reading the logical plan from Spark UI, do you have access >>>>> to the Spark UI? I am not sure what infra you run your Spark jobs on. >>>>> Usually you should be able to view the logical and physical plan under >>>>> Spark UI in text version at least. It is independent from the language >>>>> (e.g., scala/Python/R) that you use to run Spark. >>>>> >>>>> >>>>> On Wednesday, August 2, 2023, Vibhatha Abeykoon <vibha...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi Winston, >>>>>> >>>>>> I am looking for a way to access the LogicalPlan object in Scala. Not >>>>>> sure if explain function would serve the purpose. >>>>>> >>>>>> On Wed, Aug 2, 2023 at 9:14 AM Winston Lai <weiruanl...@gmail.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Vibhatha, >>>>>>> >>>>>>> Have you tried pyspark.sql.DataFrame.explain — PySpark 3.4.1 >>>>>>> documentation (apache.org) >>>>>>> <https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.explain.html#pyspark.sql.DataFrame.explain> >>>>>>> before? >>>>>>> I am not sure what infra that you have, you can try this first. If it >>>>>>> doesn't work, you may share more info such as what platform you are >>>>>>> running >>>>>>> your Spark jobs on, what cloud servies you are using ... >>>>>>> >>>>>>> On Wednesday, August 2, 2023, Vibhatha Abeykoon <vibha...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> I recently upgraded the Spark version to 3.4.1 and I have >>>>>>>> encountered a few issues. In my previous code, I was able to extract >>>>>>>> the >>>>>>>> logical plan using `df.queryExecution` (df: DataFrame and in Scala), >>>>>>>> but it >>>>>>>> seems like in the latest API it is not supported. Is there a way to >>>>>>>> extract >>>>>>>> the logical plan or optimized plan from a dataframe or dataset in Spark >>>>>>>> 3.4.1? >>>>>>>> >>>>>>>> Best, >>>>>>>> Vibhatha >>>>>>>> >>>>>>> -- >>>>>> Vibhatha Abeykoon >>>>>> >>>>> -- >>>> Vibhatha Abeykoon >>>> >>> >>> >>> -- >>> Ruifeng Zheng >>> E-mail: zrfli...@gmail.com >>> >> -- >> Vibhatha Abeykoon >> > > > -- > Ruifeng Zheng > E-mail: zrfli...@gmail.com > -- Vibhatha Abeykoon