论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
大数据
›
数据仓库与分析
›
Hive left join右表分区条件写在where后,查询慢 ...
Hive left join右表分区条件写在where后,查询慢
勿忘初心做自己
金牌会员
|
2025-2-16 01:30:56
|
显示全部楼层
|
阅读模式
楼主
主题
950
|
帖子
950
|
积分
2850
#Hive常见故障 #大数据 #生产情况真实案例 #Hive #离线数据库 #整理 #经验总结
说明:此篇总结hive常见故障案例处置处罚方案 结合自身经历 总结不易 +关注 +收藏 欢迎留言
更多Hive案例汇总方案 解决方案:请往下翻
left join右表分区条件写在where后,查询慢
题目
查询慢,右表会举行全表扫描。
缘故原由
例如:
select t1.id
from student_p t1
left join test0617 t2
on t1.id=t2.id
where t1.pt_dt<'2022-02-xx' and t2.pt_dt<'202206xx';
复制代码
副表(即下令中的
t2
)表,
where
条件写在
join
后面,会导致先全表关联再过滤分区。固然主表(下令中的
t1
)表分区条件也写在
join
后面,但是主表会谓词下推,先实行分区过滤再举行
join
。
打印实行计划可以看到SQL扫描了副表的不在条件内的分区:
解决方法
将副表的分区过滤条件写在
join
中,上述例子可修改为:
select t1.id
from student_p t1
left join test0617 t2
on t1.id=t2.id and t2.pt_dt<'202206xx'
where t1.pt_dt<'2022-02-xx';
复制代码
打印实行计划可以看到,06xx分区不再扫描,只扫描指定的分区:
更多Hive案例汇总方案 (点击跳转)
:
Hive常见故障多案例维护宝典 --项目总结(宝典一)
Hive常见故障多案例维护宝典 --项目总结(宝典二)
目录内容如下:
架构概述
【1】参数及配置类常见故障
实行set下令的时候报cannot modify xxx at runtime.
怎样在Hive提交使命的时候指定队列?
怎样在导入表时指定输出的文件压缩格式
desc描述表过长时,无法显示完备
增加分区列后再insert数据显示为NULL
怎样设置hive on spark 模式及提交使命到指定队列
hive on spark应用怎样设置spark应用的参数?
怎样设置map和reduce个数
MapReduce使命内存溢出题目处置处罚
动态分区方式插入数据,创建过多文件/分区
mapjoin相干参数
Tez引擎和MapReduce引擎实行结果差别
【2】使命运行类常见故障
Hive使命运行过程中失败,重试成功
实行select语句报错
drop partition操作有大量分区时操作失败
localtask启动失败
切域后Hive二次开发样例代码报错
输入文件数超出设置限定导致使命实行失败
使命实行中报栈内存溢出导致实利用命失败
对同一张表或分区并发写数据导致使命失败
Hive使命失败,报没有HDFS目录的权限
Metastore连接数过高导致hive使命实行慢或使命失败
bonecp参数含义解析
连接Metastore超时,导致使命失败
数据查询非常,部门字段为Null
return code 1:unable to close file
Tez和MapReduce引擎下,Hive举行join的结果不一致
Hive表里有数据count无结果
hive-sql报values太长
实行hive-sql插入数据重复
tez引擎写入的数据,切换mr引擎后查询不出来
【3】SQL使用类常见故障
join中非常规join on写法导致使命运行慢
视图中多表union all,视图外指定分区查询慢
over(partition by orde by)使用同一字段,MapReduce使命运行慢
join on条件中使用or
SQL扫描分区过多,元数据SQL拼接过长报错
join表重复数据多,使命运行慢
SQL过于复杂,嵌套过多,导致HiveSQL编译时间过长
join on中加判断,导致MapReduce使命运行慢
join on中带不即是条件,导查询的数据都为Null
特殊写法导致大数据量只有一个reduce
cascade级联修改表字段
alter table drop partition删除大量分区慢、报错
大分区表查询不带分区,查询慢
两表关联,关联字段类型不一致
left join右表分区条件写在where后,查询慢
SparkSQL嵌套过多,大量case when
SparkSQL没有group by的情况下使用having
设置自定义参数出现递归调用
视图存在全表扫或者大量分区查询
大量使用with as并在SQL中多处调用
insert into table values情势插入大量数据
多表关联过滤条件中按in的子查询举行过滤
string类型字段过滤不加引号
使用order by null
使用浮点数举行运算
并发插入同表或同分区
最后
谢谢大家 @500佰
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
勿忘初心做自己
金牌会员
这个人很懒什么都没写!
楼主热帖
新一代企业级安全OneDNS
记一次有意思的业务实现 → 单向关注是 ...
集合论第6-8章
DNS协议
Java 代理模式
SignalR 2 与mvc 5实现实时聊天功能 ...
反射 p1 反射机制
多维数组讲解
将git仓库从submodule转换为subtree ...
数字工厂介绍
标签云
挺好的
服务器
浏览过的版块
分布式数据库
快速回复
返回顶部
返回列表