首页 数据库 mysql教程 Hive.GROUPINGSETS有BUG?

Hive.GROUPINGSETS有BUG?

Jun 07, 2016 pm 03:55 PM
bug hive 随着

随着Hive 0.10版的发布,GROUPING SETS出现了,并提供了ROLL UP和CUBE这两个特殊场景的子句,真是喜闻乐见的特性

随着Hive 0.10版的发布,GROUPING SETS出现了,并提供了ROLL UP和CUBE这两个特殊场景的子句,真是喜闻乐见的特性啊。
不过最近在写两个HQL查询脚本的时候,我发现,对表达式进行GROUP BY并用GROUPING SETS自定义这些表达式的分组方式时,GROUPING SETS好像会出现解析异常:
FAILED: ParseException line 66:14 missing ) at ',' near ')' in subquery source
line 66:80 mismatched input ',' expecting ) near ')' in subquery source
登录后复制
以下是GROUP子句的片段:
group by t1.my_month, t1.product, t1.usr_type, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), if(t2.CTClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID

grouping sets  ((t1.my_month, t1.usr_type, t1.ChannelID), (t1.my_month, t1.product, t1.usr_type, t1.ChannelID), (t1.my_month, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), t1.ChannelID), (t1.my_month, t1.product, if(t3.earliest_logtime_monthly = '20140101', 'new_usr', 'old_usr'), t1.ChannelID), (t1.my_month, if(t2.Dim_CityClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID), (t1.my_month, t1.product, if(t2.CTClass = 105, t1.ipcountry, t1.ipprovince), t1.ChannelID))
登录后复制
去掉GROUPING SETS子句后脚本就正常,而且看了半天也没看出来GROUPING SETS子句里这样的组合方式有什么逻辑错误。
理论上,表达式和字段应该一样,可以出现在GROUPING SETS子句里并进行任意组合,对一些表达式的实测结果也表明GROUPING SETS里确实是支持表达式的。

这样的情况,使我怀疑GROUPING SETS子句的括号匹配逻辑没做得很完善,导致了括号配对抛出异常。不过,具体的问题,还是需要通过研究一下Hive实现源码来进一步确定这到底是不是一个BUG。

--------------------------------------------------------------------------------------------------------------------

2014-04-28

今天发现,好像是限定性名称的原因呢!就和Java的switch...case的case子句一样,case子句里的枚举值不能用限定性名称(EnumType.EnumValue1),只能用非限定性名称(EnumValue1)!难道grouping sets的Java实现涉及到switch...case子句?有待研究。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

游戏bug是什么意思 游戏bug是什么意思 Feb 18, 2024 am 11:30 AM

游戏bug是什么意思在玩游戏的过程中,我们常常会遇到一些意想不到的错误或者问题,比如角色卡住、任务无法继续、画面闪烁等等。这些不正常的现象就被称为游戏bug,即游戏中的故障或错误。在本文中,我们将探讨游戏bug是什么意思以及对玩家和开发者的影响。游戏bug是指在游戏的开发或运行过程中出现的错误,导致游戏无法正常进行或者出现不符合预期的情况。这些错误可能是由于

苹果iOS18bug汇总 苹果iOS18bug汇总 Jun 14, 2024 pm 01:48 PM

随着苹果WWDC发布会2024圆满落幕,不仅揭晓了macos15,其中最受关注的还是苹果iOS18新系统的更新,虽然有很多新功能出现,但是作为苹果iOS18首版不免让人纠结是否有必要升级苹果iOS18,在最新发布的苹果iOS18中又有哪些BUG存在呢?经过真实的使用测评,下面是苹果iOS18bug汇总,一起来看看吧。目前有许多iPhone用户都抢先升级到了iOS18.但各种系统Bug让人难受。有博主表示,升级iOS18要谨慎,因为“Bug多到飞起”。博主表示,如果你的iPhone是

系统bage是什么意思 系统bage是什么意思 Nov 09, 2022 pm 02:40 PM

系统bage就是指系统bug;bug原意是“臭虫”,现可用来指代计算机上存在的漏洞,原因是系统安全策略上存在的缺陷,有攻击者能够在未授权的情况下访问的危害;广义上,bug可用作形容各领域范围内出现的漏洞或缺陷。

整理Win11的错误和问题 整理Win11的错误和问题 Jan 13, 2024 pm 08:21 PM

有些人想更新win11,但是不知道win11bug多吗,更新会不会出问题,其实现在win11有bug,不过对使用影响不大。win11bug多吗:答:win11bug现在还是比较多的。不过这些bug对于日常使用的影响不大。如果用户对于日常的使用要求很高的话,建议还是晚些再使用吧。win11bug汇总一、资源管理器1、有时候会出现内存溢出,导致资源管理器内存占用高。2、这种情况会导致内存占用超过70%,电脑卡顿、甚至崩溃。二、冲突死机1、部分应用程序兼容性不足,导致互相冲突。2、虽然冲突程序比较少,

在Go语言中使用Hive实现高效的数据仓库 在Go语言中使用Hive实现高效的数据仓库 Jun 15, 2023 pm 08:52 PM

近年来,数据仓库成为了企业数据管理中不可或缺的一部分。直接使用数据库进行数据分析可以满足简单的查询需求,但当我们需要进行大规模数据分析时,单个数据库已经无法满足需求,这时我们需要使用数据仓库来处理海量数据。而Hive则是数据仓库领域中最流行的开源组件之一,它可以将Hadoop分布式计算引擎和SQL查询集成在一起,并支持海量数据的并行处理。同时,在Go语言中使

PHP实现开源Hive大数据分析平台 PHP实现开源Hive大数据分析平台 Jun 18, 2023 pm 02:47 PM

随着数据处理越来越重要,大数据分析也变得越来越普遍。然而,许多公司可能不想花费大量资金在商业分析平台上。开源解决方案为这些公司提供了一种可行的选择。在这个文章中,我们将讨论如何使用PHP实现开源Hive大数据分析平台。Hive是一个基于Hadoop的数据仓库系统,可以通过SQL查询和管理Hadoop上的大规模数据集。它使用类似于SQL的HiveQL语言来查询

PHP入门指南:PHP和Hive PHP入门指南:PHP和Hive May 20, 2023 am 08:33 AM

PHP是一种广泛使用的服务器端编程语言,它的使用范围覆盖了几乎所有行业。在本篇文章中,我们将探讨PHP对于大数据处理的特殊作用。在特定环境下,PHP可以与ApacheHive协作,从而实现实时数据处理和分析。先来介绍一下Hive。Hive是一个基于Hadoop的数据仓库解决方案。它可以将结构化数据映射成SQL查询,并以MapReduce任务的方式执行查询。

bug的生命周期是什么 bug的生命周期是什么 Nov 08, 2022 pm 02:17 PM

BUG的生命周期就是一个BUG被发现到这个BUG被关闭的过程,具体过程为:1、发现BUG,即发现软件程序的漏洞或缺陷;2、提交bug,需要尽量描述这个缺陷的属性、重现环境、类型、等级,优先级以及详细的重现步骤、结果与期望等;3、指派bug,即将问题直接指派给相应的开发人员;4、分析并确认为缺陷;5、处理并修复BUG;6、回归验证BUG;7、关闭BUG。

See all articles