Hive.GROUPINGSETS有BUG?
随着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 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子句的括号匹配逻辑没做得很完善,导致了括号配对抛出异常。不过,具体的问题,还是需要通过研究一下Hive实现源码来进一步确定这到底是不是一个BUG。
--------------------------------------------------------------------------------------------------------------------
2014-04-28
今天发现,好像是限定性名称的原因呢!就和Java的switch...case的case子句一样,case子句里的枚举值不能用限定性名称(EnumType.EnumValue1),只能用非限定性名称(EnumValue1)!难道grouping sets的Java实现涉及到switch...case子句?有待研究。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que signifient les bugs du jeu ? Au cours du processus de jeu, nous rencontrons souvent des erreurs ou des problèmes inattendus, tels que des personnages bloqués, des tâches incapables de continuer, un scintillement de l'écran, etc. Ces phénomènes anormaux sont appelés bugs du jeu, c'est-à-dire des défauts ou des erreurs dans le jeu. Dans cet article, nous explorerons la signification des bugs de jeu et leur impact sur les joueurs et les développeurs. Les bugs du jeu font référence à des erreurs qui se produisent lors du développement ou du fonctionnement du jeu, entraînant un dysfonctionnement du jeu ou un comportement inattendu. Ces erreurs peuvent être dues à

Alors que la conférence WWDC 2024 d'Apple s'est terminée avec succès, non seulement macos15 a été annoncé, mais la mise à jour du nouveau système iOS18 d'Apple a attiré le plus d'attention. est nécessaire pour mettre à niveau Apple iOS18, quels types de bugs y a-t-il dans la dernière version d'Apple iOS18 ? Après évaluation d'une utilisation réelle, voici un résumé des bugs d'Apple iOS 18, jetons un coup d'œil. Actuellement, de nombreux utilisateurs d’iPhone se précipitent pour passer à iOS18. Cependant, divers bugs du système mettent les gens mal à l’aise. Certains blogueurs ont déclaré qu'il fallait être prudent lors de la mise à niveau vers iOS18 car "il y a tellement de bugs". Le blogueur a dit que si votre iPhone est

Le bagage système fait référence à un bug du système ; la signification originale du terme bug est "bug", et maintenant il peut être utilisé pour désigner des vulnérabilités existant sur l'ordinateur. La raison en est qu'il existe des failles dans la politique de sécurité du système et qu'il existe un danger. auxquels les attaquants peuvent accéder sans autorisation ; au sens large Sur Internet, les bugs peuvent être utilisés pour décrire des failles ou des défauts qui surviennent dans divers domaines.

Certaines personnes souhaitent mettre à jour Win11, mais elles ne savent pas s'il y a beaucoup de bugs dans Win11 et si la mise à jour posera des problèmes. En fait, il y a actuellement des bugs dans Win11, mais ils ont peu d'impact sur l'utilisation. Y a-t-il beaucoup de bugs dans Win11 ? Réponse : Il y a encore de nombreux bugs dans Win11. Ces bugs ont cependant peu d’impact sur l’utilisation quotidienne. Si l'utilisateur a des exigences élevées pour une utilisation quotidienne, il est recommandé de l'utiliser plus tard. Résumé des bogues de Win11 1. Gestionnaire de ressources 1. Parfois, un dépassement de mémoire se produit, entraînant une utilisation élevée de la mémoire du gestionnaire de ressources. 2. Cette situation entraînera une occupation de la mémoire de plus de 70 %, provoquant le blocage ou même le crash de l'ordinateur. 2. Conflit et crash 1. Certaines applications ne sont pas suffisamment compatibles, provoquant des conflits entre elles. 2. Bien qu'il existe relativement peu de procédures de conflit,

Ces dernières années, les entrepôts de données sont devenus partie intégrante de la gestion des données d'entreprise. L'utilisation directe de la base de données pour l'analyse des données peut répondre à des besoins de requêtes simples, mais lorsque nous devons effectuer une analyse de données à grande échelle, une seule base de données ne peut plus répondre aux besoins. À l'heure actuelle, nous devons utiliser un entrepôt de données pour traiter des données massives. . Hive est l'un des composants open source les plus populaires dans le domaine des entrepôts de données. Il peut intégrer le moteur informatique distribué Hadoop et les requêtes SQL et prendre en charge le traitement parallèle de données massives. En même temps, en langage Go, utilisez

PHP est un langage de programmation côté serveur largement utilisé dans presque tous les secteurs. Dans cet article, nous explorerons le rôle particulier de PHP dans le traitement du Big Data. Dans certaines circonstances, PHP peut collaborer avec ApacheHive pour réaliser un traitement et une analyse des données en temps réel. Tout d’abord, présentons Hive. Hive est une solution d'entrepôt de données basée sur Hadoop. Il peut mapper des données structurées dans des requêtes SQL et exécuter les requêtes en tant que tâches MapReduce.

À mesure que le traitement des données prend de plus en plus d’importance, l’analyse du Big Data devient de plus en plus courante. Cependant, de nombreuses entreprises ne souhaitent pas dépenser beaucoup d’argent dans une plateforme d’analyse commerciale. Les solutions open source offrent à ces entreprises une option viable. Dans cet article, nous verrons comment implémenter la plateforme open source d'analyse Big Data Hive à l'aide de PHP. Hive est un système d'entrepôt de données basé sur Hadoop qui peut interroger et gérer des ensembles de données à grande échelle sur Hadoop via SQL. Il utilise le langage HiveQL de type SQL pour interroger

Le cycle de vie d'un BUG est le processus depuis la découverte d'un BUG jusqu'à la fermeture du BUG. Le processus spécifique est : 1. Découvrir le BUG, c'est-à-dire découvrir les failles ou les défauts du logiciel ; Soumettez le bug et essayez de décrire les attributs et la reproduction du défaut, l'environnement, le type, le niveau, la priorité et les étapes de reproduction détaillées, les résultats et les attentes, etc. 3. Attribuez le bug, c'est-à-dire attribuez directement le problème au correspondant ; développeur ; 4. Analyser et confirmer qu'il s'agit d'un défaut ; 5. Traiter et corriger le BUG ; 6. Vérification de la régression ; 7. Fermer le BUG ;
