【发布时间】:2016-10-03 19:29:20
【问题描述】:
给定以下 JSON 文件:
[{"dog*woof":"bad dog 1","dog.woof":"bad dog 32"}]
为什么这段 Java 代码会失败:
DataFrame df = sqlContext.read().json("dogfile.json");
df.groupBy("dog.woof").count().show();
但这不是:
DataFrame df = sqlContext.read().json("dogfile.json");
df.groupBy("dog*woof").count().show();
这是一个sn-p的失败:
Exception in thread "main" org.apache.spark.sql.AnalysisException: cannot resolve 'dog.woof' given input columns: [dog*woof, dog.woof];
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$2.applyOrElse(CheckAnalysis.scala:60)
at org.apache.spark.sql.catalyst.analysis.CheckAnalysis$$anonfun$checkAnalysis$1$$anonfun$apply$2.applyOrElse(CheckAnalysis.scala:57)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:335)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$transformUp$1.apply(TreeNode.scala:335)
at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69)
at org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:334)
...
【问题讨论】:
标签: java json apache-spark