insert overwrite table aaaa
partition(pt='20120717')
select auction_id,property_id,value_id
from xxxx
where pt='20120717'
and
(
(property_id = 1626130 and value_id = 46276) or
(property_id = 33510 and value_id = 31533293) or
(property_id = 33510 and value_id = 119834) or
(property_id = 33510 and value_id = 119831) or
(property_id = 33448 and value_id = 118432) or
(property_id = 33448 and value_id = 21039) or
xxxx
)
and 里面的or 条件有170多个
这个分区有80G的数据,120亿条数据,单独扫描只需要不到5分钟,但是运行这个sql确需要1个多小时,主要原因是因为这个and条件hive在生成执行计划时产生了一个嵌套层次很多的算子。
property_id 和 value_id 都是string 类型的字段
解决方案:
(1)property_id、value_id 的值对搞成一个小表,然后通过一次mapjoin
(2)写个udf,把这些预设值读取进去,udf来完成这个and数据过滤操作
分享到:
相关推荐
在本课程设计中,主题是“基于Antlr4的Hive SQL解析”,这涉及到了两个主要的技术领域:Antlr4和Hive SQL。Antlr4是一个强大的解析工具,用于生成解析器和词法分析器,它能处理各种语言的语法,包括SQL。而Hive SQL...
HiveSQL 的 Join 语句用于连接多个表。下面是一个示例: select student.*, a.s_score as 01_score, b.s_score as 02_score from student join score a on student.s_id = a.s_id and a.c_id = '01' left join ...
1.上传tar包 2.解压 tar -zxvf hive-1.2.1.tar.gz 3.安装mysql数据库 推荐yum 在线安装 4.配置hive (a)配置HIVE_HOME环境变量 vi conf/hive-env.sh ... hive -e ‘sql’ bin/hive -e 'select * from t_test'
本文将深入探讨Hive SQL如何被编译成MapReduce任务,以及在这个过程中涉及到的关键原理。 1. MapReduce实现基本SQL操作的原理: - **Join的实现原理**:在Hive中,Join操作通常通过MapReduce来实现。例如,在一个...
String hql = "select id,name from (select id from table_1 where id={p0}) t1 inner join (select name --this is name\n from table_2) t2"; // 获取id字段的血缘 LineageNode idNode = Delegate.getDelegate...
Hive SQL支持绝大多数的语句,如DDL、DML、聚合函数、连接查询、条件查询等。 Hive不适合用于联机online事务处理,也不提供实时查询功能,但最适合应用在基于大量不可变数据的批处理作业。 Hive的特点 * 可伸缩:...
总结来说,HiveSQL编译原理是Hive处理SQL查询的核心机制,它包括词法分析、语法分析、逻辑规划、优化、物理规划和执行等多个阶段。理解这一原理对于提升Hive查询性能、优化大数据处理流程具有重要意义。在实际工作中...
Hive_Sql语法详述,平时工作中遇到的问题,用于Hadoop平台的数据挖掘。
《最强HiveSQL开发指南》是一本专注于Hive性能调优和实战操作的教程,旨在帮助读者深入理解和熟练运用Hive进行大数据处理。Hive作为Apache Hadoop生态系统中的一个组件,主要用于处理和分析大规模分布式存储的数据。...
Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使不熟悉 MapReduce 的用户可以利用 SQL 语言进行数据查询,大大提升了数据分析的效率。...
HiveQL是Hive的SQL方言,支持常见的SQL操作,如SELECT、FROM、WHERE、GROUP BY等,同时也有针对大数据处理的独特功能,如分桶(Bucketing)、分区(Partitioning)和倾斜Join(Skewed Join)优化。 3. **数据模型*...
hivesql计算访问者年龄的SQL
【秘密】Hive SQL 开发规范 Hive作为Hadoop生态系统中的重要组件,为企业提供了对大规模数据集的高效处理和分析能力。它允许用户通过类似于SQL的查询语言(HiveQL)来操作分布式存储的数据,简化了MapReduce编程...
### HIVE-SQL操作语句详解 #### 一、创建表 (CREATE TABLE) 在Hive中,`CREATE TABLE` 语句用于创建新的表。与传统的关系型数据库类似,但在Hive中有其特殊之处。 ##### 示例 ```sql hive> CREATE TABLE pokes ...
Apache Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使不熟悉 MapReduce 的开发人员也能用 SQL 语言进行数据查询。Hive 在内部将 SQL 语句转换...
HiveSQL详细和优化,以及部分个人点评 This is a brief tutorial that provides an introduction on how to use Apache Hive HiveQL with Hadoop Distributed File System. This tutorial can be your first step ...
文章Hive面试题SQL测试题目所需数据,包含建表语句 测试数据等等...................