文档章节

Hive使用经验-分区字段使用函数查询时分区无效

彭苏云
 彭苏云
发布于 2017/02/25 16:50
字数 310
阅读 147
收藏 0

环境:FusionInsight-Hive-1.1.0

现象:这段时间项目中新开了一些sql,在执行这些sql的时候,集群的CPU使用率平均达到90%,导致集群基本处于停摆状态,其他的sql却能正常执行。

排查:单独执行有问题的sql,检查其application,发现container的分配不正常,application一直运行,container的数量也在一直上升;再检查具体的任务,跑的都是map任务,检查日志后,一直在做查询;jie结合sql的查询条件,以及map的日志,发现map根本没有根据查询条件查询数据,理论上我们的sql用的分区字段查数据,是会很快出结果的,但是事与愿违,怀疑分区可能出问题了。

上网一搜,找到一篇帖子http://www.aboutyun.com/thread-16426-1-1.html,问题已经很明朗了。

当我们试着把sql里面的分区查询值从函数改成具体值,查询瞬间无压力,问题得到定位。至于怎么解决,就没我的事情了。

补充一点:concat 、substr 这类函数不存在这个问题

 

© 著作权归作者所有

彭苏云
粉丝 43
博文 204
码字总数 54255
作品 0
广州
高级程序员
私信 提问
Presto介绍与常用查询优化方法

Presto Hive使用MapReduce作为底层计算框架,是专为批处理设计的。但随着数据越来越多,使用Hive进行一个简单的数据查询可能要花费几分到几小时,显然不能满足交互式查询的需求。 2012年秋季...

高广超
2018/10/10
0
0
[翻译]Hive Tutorial-wiki

Hive Tutorial 概念 Hive是什么 Hive是一个基于Hadoop的数据仓库基础架构。Hadoop在通用硬件上对数据存储和加工(使用map-reduce编程范式)提供巨大的扩张和容错能力。 Hive被设计用于简化海量...

xiangel
2014/03/26
763
0
Hadoop实战:Hive操作使用

Hive表类型测试 内部表 数据准备,先在HDFS上准备文本文件,逗号分割,并上传到/test目录,然后在Hive里创建表,表名和文件名要相同。 $ cat /tmp/table_test.csv1,user1,10002,user2,20003...

问题终结者
01/14
15
0
【Hive】Hive基本操作及示例

1、数据库操作 (1)创建数据库 (2)查看数据库 (3)使用数据库 (4)查看数据库字段格式 (5)删除数据库 2、表操作 (1)创建表 (2)加载数据到表 LOCAL:从本地文件加载数据到hive表;...

gongxifacai_believe
2018/04/29
0
0
《Hadoop权威指南》书摘-关于Hive

转载请注明出处 独立博客:http://wangnan.tech 简书:http://www.jianshu.com/u/244399b1d776** 知乎:https://zhuanlan.zhihu.com/ghoststories 简介 hive是一个构建在hadoop上的数据仓框架...

GhostStories
2018/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
今天
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部