Tispark 执行提示 聚合列不存在,

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0 GA

  • 【问题描述】:

1.使用tispark进行sql执行时,提示列不存在,实际列是存在的,只不过是用的聚合函数

sql:
select BillID,SUM(MinutePower),MAX(soc) as maxsoc,MIN(soc) from ETL_SingleCharging where UptTime>=CAST(‘2020-01-02 00:00:00’ AS TIMESTAMP) and UptTime<CAST(‘2020-01-04 00:00:00’ AS TIMESTAMP) and soc>=0.2 and soc<=0.85 group BY BillID
错误提示:

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 个赞

看起来表的schema 找的不对,提示的schema不是这个表的

麻烦发一下使用的 tispark 和 spark 的版本

tispark/spark-2.3.3-bin-hadoop2.7

比较着急,因为是线上的服务,有没有什么比较好的方式 提示的表,实际上是已经删除的一个表。tispark已经重启了,是从tidb的缓存版本获取的 有没有清除缓存之类的临时办法

你的意思是表已经删除了,但是报错提示的不明确吗?

从报错信息看的确该表内没有 MinutePower 列,能否提供 ETL_SingleCharging 表的 schema 信息?

另外最好能给一下完整的堆栈信息我们好定位问题。

表已经删除了,但是提示的列还是删除的表的列信息

数据结构是有minutepower,但是提示的后面的数据结构是删除的表的列

麻烦用 printSchema 或 desc 查下 ETL_SingleCharging 表的 schema,看看是否有类似的报错。