当前位置: 首页 > news >正文

【踩坑实录】-Boundary Amount must be a positive integer, provided amount is: 0

目录

一、背景

二、分析问题

1.查询的sql内容

2.分析报错内容

三、解决方法


一、背景

hive执行sql发生报错,报错内容:

execute sql error: Error while compiling statement: FAILED: SemanticException Window Frame Boundary Amount must be a positive integer, provided amount is: 0

二、分析问题

1.查询的sql内容

select 
     col_str1
    ,col_str2
    ,create_time
    ,sum(col_int1) over(partition by col_str1,col_str2 order by create_time rows between 6 preceding and 0 following) as new_col
from db_name.table_name
;

2.分析报错内容

由关键词Window可以知道问题大约是出在开窗函数上面。

错误信息 "Boundary Amount must be a positive integer, provided amount is: 0" 表示边界金额必须是一个正整数,但提供的金额为0。

在许多编程场景中,边界参数(如数组大小、集合容量等)必须是一个正整数,不能为0或负数。如果参数值为0,程序会抛出 IllegalArgumentException 异常,提示边界值必须是正数。

三、解决方法

确保在调用需要正数参数的方法时,传入的参数值大于0。

修改后的sql内容

select 
     col_str1
    ,col_str2
    ,create_time
    ,sum(col_int1) over(partition by col_str1,col_str2 order by create_time rows between 6 preceding and 1 following) as new_col
from db_name.table_name

执行后成功啦!!!

相关文章:

  • 第四届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2025)
  • Python----数据结构(单链表:节点,是否为空,长度,遍历,添加,删除,查找)
  • VINS-mono代码笔记
  • Java 运行时常量池笔记(详细版
  • 第150场双周赛:好数字之和、分割正方形 Ⅰ、分割正方形 Ⅱ、最短匹配字符串
  • 第1章大型互联网公司的基础架构——1.2 客户端连接机房的技术1:DNS
  • Java基于 SpringBoot+Vue的微信小程序跑腿平台V2.0(附源码,文档)
  • css里flex+margin布局
  • iOS 中使用 FFmpeg 进行音视频处理
  • 机器学习数学基础:27.数字特征
  • 深入解析 iOS 视频录制(一):录制管理核心MWRecordingController 类的设计与实现
  • 网络安全不分家 网络安全不涉及什么
  • el-input无法输入0.0001的小数,自动转换为0在vue3中的bug
  • 【SpringBoot注解失效】@注解为什么不生效?
  • home assistant ddns动态域名解析插件
  • AWS上Amazon Redshift用Zoominfo API验证公司基本信息数据正确性检查设计方案
  • Vue 前端开发中的路由知识:从入门到精通
  • STM32外设SPI FLASH应用实例
  • 2.16日学习总结
  • Flutter 记一次疑难杂症
  • 第1现场|俄媒称乌克兰网上出售北约对乌军培训手册
  • 国家统计局:中美大幅降低关税有利于双方贸易增长,也有利于世界经济复苏
  • 西浦国际教育创新论坛举行,聚焦AI时代教育本质的前沿探讨
  • 聚焦中华文明精神标识,多校专家学者跨学科对话交流
  • 全国游泳冠军赛:孙杨、潘展乐同进400自决赛,今晚将正面对决
  • 时隔三年,俄乌直接谈判重启