`

hive的一个报错 Not In Group By Key

 
阅读更多
这个报错的原因是:select的字段没有出现在group by中.
刚开始看到这个错误的时候 我很惊奇,我的查询语句都没有group by,他怎么说我的group by有问题呢.呵呵


例子:
INSERT OVERWRITE TABLE refineAccess partition (day='2013-08-01',productcat)
    select time,subporttype,IMSI,action,actionname,network,ActionModule,versionnum,trackid,is_online,count(*) as value , porttype,'2013-08-01',productcat from (
 
    select DateFunction(actiontime,"yyyy-MM-dd HH:mm") as time,
    subporttype,
    IMSI,
    action,
    actionname,
    network,
    ActionModule, 
    porttype ,
    trackid,
    case when (versionnum is null OR trim(versionnum)='') then 'unknown version' 
		    else versionnum  end as versionnum ,
    case when TrackId >0  then '在线'  
        else '本地' 
         end as is_online,
     productcat
    from t_feedbackaccessday  ) 
    tmp group by time,subporttype,porttype,IMSI,action,actionname,network,ActionModule,is_online,versionnum,trackid,productcat;



可以看到我的group by一堆字段,少一个都会报错,真的是很恶心.
应该是我的办法太土了,求批评指教.
0
3
分享到:
评论

相关推荐

    hive的一些报错及解决方法

    #### 一、Hive连接报错 在更换网络接口卡后重新启动服务时,可能会遇到Hive连接失败的问题。此类问题通常与元数据存储中的异常有关,例如存在多个版本的元数据或者端口被其他服务占用。 1. **元数据版本冲突**: ...

    hive on tez 常见报错问题收集

    在大数据处理领域,Hive作为一个基于Hadoop的数据仓库工具,被广泛用于结构化数据的查询、分析和管理。然而,在实际操作中,我们经常会遇到一些常见的错误,特别是当Hive运行在Tez引擎上时。这里我们将深入探讨五个...

    Hive Beeline连接报错:Could not open client transport with JDBC Uri: jdbc:hive2://hcmaster:10000/default

    Hive Server2是Hive服务的组件,提供了一个安全、高性能的接口,允许客户端如Beeline、Hue等连接并执行HQL查询。当Beeline尝试连接到Hive Server2时,如果网络通信或认证配置不正确,就会出现上述错误。 解决这个...

    hdfs开启高可用+hive报错

    - 类似地,Hive还维护了一个名为`CTLGS`(Catalogs)的表,用于记录不同的数据库目录信息。 - 同样需要将此表中的HDFS地址从指向master01修改为指向新的HA NameNode组ID。 3. **调整Hive的Database地址**: - `...

    Spark不能使用hive自定义函数.doc

    然而,在实际应用中,开发人员可能会遇到一个常见问题——Spark 无法直接使用 Hive 中定义的自定义函数(UDF)。本文将深入探讨这一问题,并提供解决方案。 #### 一、问题背景 当开发者尝试在 Spark 应用程序中...

    hive开发中常遇到的坑

    而在Hive中,并没有直接提供这样的表,但我们可以手动创建一个类似的表来满足需求。 ##### 创建Dual表步骤: 1. **创建表结构**: ```sql CREATE TABLE dual (dummy STRING); ``` 这里我们创建了一个名为`dual...

    hive建表报错.md

    今天更新hive版本的时候,把关联的数据库删掉了,重新生成,之后出现MetaException(message:An exception was thrown while adding/validating class(es) : Column length too big for column 'PARAM_VALUE' (max = ...

    hive开启权限后不能创建数据库问题

    背景:由于Hive需要开启权限管理,安装网上教程,开启权限配置,重启集群后。 使用root用户登录,进入Hive命令行界面。 执行 create database test; 发现报错: Authorization failed:No privilege 'Create' found ...

    Hive优化方法整理

    2. 尽量原子化操作,尽量避免一个 SQL 包含复杂逻辑,并建 view 表、中间表。这可以减少数据处理的复杂度,提高处理速度。 3. 慎重使用 mapjoin,小表要注意放在 join 的左边,否则会引起磁盘和内存的大量消耗。 4. ...

    hive2.1.1中orc格式读取报数组越界错误解决方法

    “数组越界”错误是Java编程语言中常见的异常类型,表明程序试图访问数组的一个不存在的元素,即下标超出数组边界。在Hive中,这可能源于Hive执行引擎或ORC读写库的问题。在描述中提到的解决方案是替换相关的jar包,...

    Could not resolve dependencies for project org.apache.hive:hive-exec:jar:2.3.0:

    hive 开发UDF 使用maven工程 引发jar包缺失 hive 开发UDF 使用maven工程 引发jar包缺失

    Hive SQL 编译过程详解

    在大数据处理领域,Hive作为一个基于Hadoop的数据仓库系统,起着至关重要的作用。它允许用户使用SQL-like语言(HiveQL)对分布式存储的数据进行查询和分析。本文将深入探讨Hive SQL如何被编译成MapReduce任务,以及...

    部分普通sql查询在hive中的实现方式

    - **背景**:在Hive中,对于单个`GROUP BY`子句下包含多个`COUNT(DISTINCT)`的情况,Hive只能支持其中一个`COUNT(DISTINCT)`。 - **示例**:下面的查询是可以在Hive中正确执行的: ```sql SELECT pv_users....

    hive 中join和Group的优化

    set hive.groupby.mapaggr.checkinterval = 100000000; //在 Map 端进行聚合操作的条目数目 set hive.groupby.skewindata = true; //解决数据倾斜的万能钥匙 当map阶段运行不了的时候,可以设置 set hive.map.aggr ...

    hive客户端安装_hive客户端安装_hive_

    在大数据处理领域,Hive是一个非常重要的工具,它提供了一个基于Hadoop的数据仓库基础设施,用于数据查询、分析和管理大规模数据集。本教程将详细讲解如何在Linux环境下安装Hive客户端,以便进行数据操作和分析。 ...

    datax数据从hive导入mysql数据缺失解决

    1. **调整参数**:首先,需要修改 `hive-site.xml` 文件中的 `hive.merge.smallfiles.avgsize` 参数,将其设置为一个更合理的值(例如设置为 8MB 或更小,根据实际情况调整)。 2. **验证效果**:重新运行 DataX ...

    13-Hive基本操作1

    例如,`CREATE TABLE my_table (col1 string, col2 int) PARTITIONED BY (dt string)`创建一个按日期(dt)分区的表。桶是基于列值的哈希分区,有助于提高JOIN操作的效率。 实验内容不仅涵盖了上述的基本操作,还...

    hive窗口函数

    在大数据处理领域,Apache Hive 是一个广泛使用的数据仓库工具,它提供了一种SQL-like的语言——HiveQL,使得用户能够更方便地进行数据汇总、特殊查询和分析。其中,窗口函数是HiveQL的一个重要组成部分,它可以在不...

    DolphinScheduler+海豚

    而Hive作为一个基于Hadoop的数据仓库工具,主要用于对存储在Hadoop文件系统中的大量数据集进行数据整理、特殊查询和分析存储。 当在DolphinScheduler中配置Hive作为数据源时,若Hive Jar包版本与当前集群的Hive版本...

    Hive教程--命令

    Hive 中的数据库是一个命名空间或表的集合。使用 CREATE DATABASE 语句可以创建数据库。在 Hive 中,配置单元包含一个名为 default 的默认数据库。CREATE DATABASE 语句的语法声明如下: CREATE DATABASE|SCHEMA ...

Global site tag (gtag.js) - Google Analytics