【踩坑实录】-BoundaryAmountmustbeapositiveinteger,providedamou
- 其他
- 2025-09-03 18:48:02

目录
一、背景
二、分析问题
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执行后成功啦!!!
【踩坑实录】-BoundaryAmountmustbeapositiveinteger,providedamou由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【踩坑实录】-BoundaryAmountmustbeapositiveinteger,providedamou”