当前位置: 首页 > 知识库问答 >
问题:

AnalysisException:引用“计数”不明确[重复]

经清野
2023-03-14

数据:

+--------------------+
|               count|
+--------------------+
|                 1.0|
|                 2.0|
|                 3.0|
+--------------------+

法典:

String field = "count";    

Dataset<Row> histogram = dataset
    .groupBy(field)
    .count()
    .persist(StrorageLevel.MEMORY_ONLY_SER());

Column cnt = histogram.col("count"); // trying to get .count() result

直方图模式:

root
 |-- count: double (nullable = true) // input field `count`
 |-- count: long (nullable = false)  // .count() result

例外:

org.apache.spark.sql.AnalysisException: Reference 'count' is ambiguous, could be: count#101, count#108L.;

虽然我明白为什么会发生这种情况,但我不知道如何解决这个问题。数据集是从数据库中的表创建的,可以包含任意数量的具有任意名称的列,包括< code>count 、< code>avg和其他“保留”字。

任何帮助。

共有1个答案

孔俊友
2023-03-14
dataset.createOrReplaceTempView("V1");
dataset = spark.sql("select count as count_O from v1");
Dataset<Row>  histogram = dataset.groupBy("count_O").count().persist(StrorageLevel.MEMORY_ONLY_SER());
Column cnt = histogram.col("count");
 类似资料:
  • 给定下面用Mockito模拟Scala类的代码,我会得到一个错误并且无法编译: 错误是: 对重载定义的引用不明确,类型为(x$1:class[common.testeable],x$2:org.Mockito.mocksettings)的对象Mockito中的方法mock和类型为(x$1:class[common.testeable],x$2:org.Mockito.stubbing.answhe

  • 为什么我有这个错误? 错误:(5,18)对重载定义的引用不明确,类型为(x$1:String)布尔的类String中的方法startsWith和类型为(x$1:String,x$2:Int)布尔的类String中的方法startsWith匹配预期的类型?水果过滤器(_.startswith==“AP”) 水果过滤器(_.startswith==“AP”)

  • 我在尝试展平高度嵌套的结构时遇到以下错误: 组织。阿帕奇。火花sql。AnalysisException:对字段StructField(错误、StructType(数组、ArrayType(StructType(double,DoubleType,true)、StructField(int,IntegerType,true)、StructField(string,StringType,true))

  • 我在连接两个表时遇到了一些问题: 组:group_id,group_name 学生:学生标识,组标识,名字,姓氏 我想计算每个小组有多少学生,然后输出小组名称,但是当我这样写时: 出现错误“列引用”groupid“不明确”。

  • 假设我们有以下简单的代码: 这段代码使用clang编译并打印“T”,但使用gcc我们有以下错误: 我的问题是哪个编译器有bug,gcc还是叮当声?

  • 问题内容: 情况1 案例1的输出:hello10 情况二 显示编译错误。但是,我无法理解。为什么呢 但是,当我注释掉的任何方法时,它就可以正常工作。谁能帮助我了解一下,这是怎么回事? 问题答案: 在Java语言规范(JLS)中以非常正式的方式定义了查找最具体的方法。我在尝试尽可能删除正式公式的同时提取了适用的主要项目。 总之,适用于您的问题的主要项目是: JLS 15.12.2:您的用例属于阶段3