You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by GitBox <gi...@apache.org> on 2020/06/07 07:56:32 UTC

[GitHub] [spark] Fokko edited a comment on pull request #28554: [SPARK-31735][CORE] Include date/timestamp in the summary report

Fokko edited a comment on pull request #28554:
URL: https://github.com/apache/spark/pull/28554#issuecomment-640173630


   I finally have some to pick this up. Looks like there is some funky behavior. Doing an average on a string just return `null`, and doing this on a Date, returns an exception:
   ```
   MacBook-Pro-van-Fokko:spark fokkodriesprong$ spark-shell
   20/06/07 09:51:57 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
   Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
   Setting default log level to "WARN".
   To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
   Spark context Web UI available at http://192.168.1.113:4040
   Spark context available as 'sc' (master = local[*], app id = local-1591516331348).
   Spark session available as 'spark'.
   Welcome to
         ____              __
        / __/__  ___ _____/ /__
       _\ \/ _ \/ _ `/ __/  '_/
      /___/ .__/\_,_/_/ /_/\_\   version 2.4.5
         /_/
            
   Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_172)
   Type in expressions to have them evaluated.
   Type :help for more information.
   
   scala> import java.sql.Date
   import java.sql.Date
   
   scala> import org.apache.spark.sql.DataFrame
   import org.apache.spark.sql.DataFrame
   
   scala> val person2: DataFrame = Seq(
        |     ("Bob", 16, 176, new Date(2020, 1, 1)),
        |     ("Alice", 32, 164, new Date(2020, 1, 5)),
        |     ("David", 60, 192, new Date(2020, 1, 19)),
        |     ("Amy", 24, 180, new Date(2020, 1, 25))).toDF("name", "age", "height", "birthday")
   warning: there were four deprecation warnings; re-run with -deprecation for details
   person2: org.apache.spark.sql.DataFrame = [name: string, age: int ... 2 more fields]
   
   
   scala> person2.select("name").agg(avg('name))
   res3: org.apache.spark.sql.DataFrame = [avg(name): double]
   
   scala> person2.select("name").agg(avg('name)).show()
   +---------+
   |avg(name)|
   +---------+
   |     null|
   +---------+
   
   
   scala> person2.select("name").agg(avg('birthday)).show()
   org.apache.spark.sql.AnalysisException: cannot resolve '`birthday`' given input columns: [name];;
   'Aggregate [avg('birthday) AS avg(birthday)#38]
   +- Project [name#9]
      +- Project [_1#4 AS name#9, _2#5 AS age#10, _3#6 AS height#11, _4#7 AS birthday#12]
         +- LocalRelation [_1#4, _2#5, _3#6, _4#7]
   
     at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
     at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$3.applyOrElse(CheckAnalysis.scala:111)
     at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$3.applyOrElse(CheckAnalysis.scala:108)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:280)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:280)
     at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)
     at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:279)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:328)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:186)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapChildren(TreeNode.scala:326)
     at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:328)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:186)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapChildren(TreeNode.scala:326)
     at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$3.apply(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$4.apply(TreeNode.scala:328)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:186)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapChildren(TreeNode.scala:326)
     at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:277)
     at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$transformExpressionsUp$1.apply(QueryPlan.scala:93)
     at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$transformExpressionsUp$1.apply(QueryPlan.scala:93)
     at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$1.apply(QueryPlan.scala:105)
     at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$1.apply(QueryPlan.scala:105)
     at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)
     at org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpression$1(QueryPlan.scala:104)
     at org.apache.spark.sql.catalyst.plans.QueryPlan.org$apache$spark$sql$catalyst$plans$QueryPlan$$recursiveTransform$1(QueryPlan.scala:116)
     at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$org$apache$spark$sql$catalyst$plans$QueryPlan$$recursiveTransform$1$2.apply(QueryPlan.scala:121)
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
     at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
     at scala.collection.immutable.List.foreach(List.scala:392)
     at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
     at scala.collection.immutable.List.map(List.scala:296)
     at org.apache.spark.sql.catalyst.plans.QueryPlan.org$apache$spark$sql$catalyst$plans$QueryPlan$$recursiveTransform$1(QueryPlan.scala:121)
     at org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$2.apply(QueryPlan.scala:126)
     at org.apache.spark.sql.catalyst.trees.TreeNode.mapProductIterator(TreeNode.scala:186)
     at org.apache.spark.sql.catalyst.plans.QueryPlan.mapExpressions(QueryPlan.scala:126)
     at org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpressionsUp(QueryPlan.scala:93)
     at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:108)
     at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1.apply(CheckAnalysis.scala:86)
     at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:126)
     at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$class.checkAnalysis(CheckAnalysis.scala:86)
     at org.apache.spark.sql.catalyst.analysis.Analyzer.checkAnalysis(Analyzer.scala:95)
     at org.apache.spark.sql.catalyst.analysis.Analyzer$$anonfun$executeAndCheck$1.apply(Analyzer.scala:108)
     at org.apache.spark.sql.catalyst.analysis.Analyzer$$anonfun$executeAndCheck$1.apply(Analyzer.scala:105)
     at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper$.markInAnalyzer(AnalysisHelper.scala:201)
     at org.apache.spark.sql.catalyst.analysis.Analyzer.executeAndCheck(Analyzer.scala:105)
     at org.apache.spark.sql.execution.QueryExecution.analyzed$lzycompute(QueryExecution.scala:58)
     at org.apache.spark.sql.execution.QueryExecution.analyzed(QueryExecution.scala:56)
     at org.apache.spark.sql.execution.QueryExecution.assertAnalyzed(QueryExecution.scala:48)
     at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:78)
     at org.apache.spark.sql.RelationalGroupedDataset.toDF(RelationalGroupedDataset.scala:65)
     at org.apache.spark.sql.RelationalGroupedDataset.agg(RelationalGroupedDataset.scala:224)
     at org.apache.spark.sql.Dataset.agg(Dataset.scala:1804)
     ... 49 elided
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org