hive0.11测试过程中,发现如下bug
select count(distinct t2.user_id),t1.app_id,t2.from_id from t1 join t2 on t1.app_id=t2.app_id join t3 on t2.from_id=t3.flag group by t1.app_id,t2.from_id
查询过程报如下错误:FAILED: NullPointerException null
2013-09-16 20:20:59,611 ERROR ql.Driver (SessionState.java:printError(386)) - FAILED: NullPointerException null java.lang.NullPointerException at org.apache.hadoop.hive.ql.optimizer.physical.MetadataOnlyOptimizer$MetadataOnlyTaskDispatcher.dispatch(MetadataOnlyOptimizer.java:308) at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:87) at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:124) at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:101)
具体原因正在解决中
中间解决办法形成临时表,子查询,也可以通过设置参数"set hive.map.aggr=false;"临时解决
select count(distinct tmp.user_id), tmp.app_id,tmp.from_id from (select t2.user_id,t1.app_id,t2.from_id from t1 join t2 on t1.app_id=t2.app_id join t3 on t2.from_id=t3.flag group by t1.app_id,t2.from_id ) tmp
hive官方issues,HIVE-5129:https://issues.apache.org/jira/browse/HIVE-5129
hive官方reviewboard:https://reviews.apache.org/r/13697/diff/#index_header
hive官方历史jira:https://issues.apache.org/jira/issues/?jql=project%20%3D%20HIVE
相关推荐
自己翻译的 hive 0.11 官方教程。 自己阅读,能找到大部分学习内容
### Hive SQL Left Join 数据缺失问题解析 #### 一、问题背景 在大数据处理场景中,Hive 是一种广泛使用的工具,用于对存储在 Hadoop 文件系统中的数据进行数据汇总、查询和分析。随着Hive版本的不断更新,部分用户...
Hive Summit 2011-join介绍了Facebook中Hive实现的多种join策略。Hive作为一个数据仓库工具,主要用于处理大规模数据集的分析和查询,而join操作是数据仓库中常见且关键的操作之一。在大数据的背景下,如何高效地...
Hive表生成工具,Hive表生成工具Hive表生成工具
Hive 0.14版本开始支持`UPDATE`和`DELETE`操作,但这些操作通常在支持ACID特性的表上进行,且不适用于所有Hive版本。由于Hive设计为批处理工具,频繁的更新和删除操作不是最佳实践。 10. **创建索引**: Hive支持...
支持hive 源数据、表结构导出
这意味着用户可以一次性删除多个Hive表,而无需逐个执行删除命令,显著提高了工作效率。 2. **自定义删除键**:该工具还支持根据表中的一个或多个字段作为键来批量删除表。这种灵活性使得用户可以根据业务需求定制...
在Hive SQL中,JOIN操作是用来合并来自两个或多个表的数据。本文主要关注LEFT JOIN和EXISTS子句的使用,这两个都是数据查询中常见的技术,特别是在大数据处理领域,如Hadoop环境下的Hive。 首先,LEFT JOIN(左外...
大数据工具之HIVE外键及多表关联的介绍.zip
8. **Hive的Join挑战**:尽管有各种优化策略,但处理大规模数据集的Join仍然是Hive面临的主要挑战之一,特别是涉及多个大表的复杂Join操作。 9. **Best Practices**:在实际应用中,应考虑数据分布、Join类型的选择...
需要注意的是,如果Hive表的分区数据较多,该操作可能会耗时较长,请耐心等待。 #### 三、验证修改结果 完成以上步骤后,还需要对修改结果进行验证: 1. **查询新分区的数据**:使用`SELECT * FROM test WHERE ...
hive生成日历表.sql
hive用户手册_0.11_cn.chm
### Hive外部表创建详解 #### 一、引言 在大数据处理领域,Hive作为一款广泛使用的数据仓库工具,能够高效地对存储在Hadoop文件系统中的数据进行查询与管理。其中,外部表的创建是Hive使用过程中的一个重要概念。...
Hive表分区,里面有比较详细的Hive表分区方法,希望能够有所帮助。
通过shell脚本,批量把一个库下面的表结构全部导出,在开发环境执行过。
hive的表数据,可以到我的博客,有建表语句,我的链接是 https://blog.csdn.net/qq_43662627/article/details/121033176
内部表的数据由Hive完全管理,删除内部表会同时删除其对应的数据。而外部表仅仅是一个指向实际数据的引用,删除外部表不会影响数据。在这个场景下,我们关注的是内部表,因为小文件问题主要影响数据读取速度。 小...
Spark操作Hive表的底层实现涉及到多个组件的协同工作。SparkSQL会通过HiveMetastore获取表的元数据,包括表的分区信息、字段类型等。然后,它将DataFrame转换为执行计划,这个计划会被优化器进一步优化,生成执行...
然而,有时候在使用ORC格式读取数据时,可能会遇到“数组越界”错误,这通常是由于软件bug或者不兼容性导致的。 “数组越界”错误是Java编程语言中常见的异常类型,表明程序试图访问数组的一个不存在的元素,即下标...