HIVE调优MapJoin

HIVE调优MapJoin

目录

HIVE调优MapJoin

1.mapjoin (1.2以后自动默认启动mapjoin)          

2.创建表格

3.查询建表

4.通过 explain 展示执行计划

5.Map JOIN 相关设置:


1.mapjoin (1.2以后自动默认启动mapjoin)
          

select /*+mapjoin(b)*/ a.xx,b.xxx from a left outer join b on a.id=b.id

2.创建表格


CREATE EXTERNAL TABLE IF NOT EXISTS learn4.student1(
id STRING COMMENT "学生ID",
name STRING COMMENT "学生姓名",
age int COMMENT "年龄",
gender STRING COMMENT "性别",
clazz STRING COMMENT "班级"
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";load data local inpath "/usr/local/soft/hive-3.1.2/data/students.txt" INTO TABLE learn4.student1;CREATE EXTERNAL TABLE IF NOT EXISTS learn4.score1(
id STRING COMMENT "学生ID",
subject_id STRING COMMENT "科目ID",
score int COMMENT "成绩"
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";
load data local inpath "/usr/local/soft/hive-3.1.2/data/score.txt" INTO TABLE learn4.score1;

3.查询建表


CREATE TABLE mapJonTest AS SELECT max.name,min.subject_id,min.score FROM learn4.student1 max JOIN learn4.score1 min ON max.id = min.id;

建表所需时间:


INFO  : Total MapReduce CPU Time Spent: 2 seconds 510 msec
INFO  : Completed executing command(queryId=root_20240511090524_3a34bdda-4247-4af4-b686-d681856af110); Time taken: 19.199 seconds
INFO  : OK
INFO  : Concurrency mode is disabled, not creating a lock manager
No rows affected (20.707 seconds)
 

4.通过 explain 展示执行计划

explain SELECT max.name,min.subject_id,min.score FROM learn4.student1 max JOIN learn4.score1 min ON max.id = min.id;查看详细信息:explain extended SELECT max.name,min.subject_id,min.score FROM learn4.student1 max JOIN learn4.score1 min ON max.id = min.id;


| STAGE DEPENDENCIES:                                |  -- 执行stage的依赖
|   Stage-4 is a root stage                          |     Stage-4 表示根流程 --表示最先执行的流程
|   Stage-3 depends on stages: Stage-4               |     Stage-3 依赖 Stage-4
|   Stage-0 depends on stages: Stage-3               |     Stage-0 依赖 Stage-3 依赖 Stage-4
|                                                    |
| STAGE PLANS:                                       |
|   Stage: Stage-4                                   |
|     Map Reduce Local Work                          |
|       Alias -> Map Local Tables:                   |
|         $hdt$_1:min                                |
|           Fetch Operator                           |
|             limit: -1                              |
|       Alias -> Map Local Operator Tree:            |
|         $hdt$_1:min                                |
|           TableScan                                |    TableScan  扫描的表
|             alias: min                             |
|             Statistics: Num rows: 1 Data size: 1385400 Basic stats: COMPLETE Column stats: NONE |
|             Filter Operator                        |
|               predicate: id is not null (type: boolean) |
|               Statistics: Num rows: 1 Data size: 1385400 Basic stats: COMPLETE Column stats: NONE |
|               Select Operator                      |
|                 expressions: id (type: string), subject_id (type: string), score (type: int) |
|                 outputColumnNames: _col0, _col1, _col2 |
|                 Statistics: Num rows: 1 Data size: 1385400 Basic stats: COMPLETE Column stats: NONE |
|                 HashTable Sink Operator            |
|                   keys:                            |
|                     0 _col0 (type: string)         |
|                     1 _col0 (type: string)         |
|                                                    |
|   Stage: Stage-3                                   |
|     Map Reduce                                     |
|       Map Operator Tree:                           |
|           TableScan                                |
|             alias: max                             |
|             Statistics: Num rows: 1 Data size: 388080000 Basic stats: COMPLETE Column stats: NONE |
|             Filter Operator                        |
|               predicate: id is not null (type: boolean) |
|               Statistics: Num rows: 1 Data size: 388080000 Basic stats: COMPLETE Column stats: NONE |
|               Select Operator                      |
|                 expressions: id (type: string), name (type: string) |
|                 outputColumnNames: _col0, _col1    |
|                 Statistics: Num rows: 1 Data size: 388080000 Basic stats: COMPLETE Column stats: NONE |
|                 Map Join Operator                  |   -- 不需要做任何操作 默认开启 Map JOIN 操作
|                   condition map:                   |
|                        Inner Join 0 to 1           |
|                   keys:                            |
|                     0 _col0 (type: string)         |
|                     1 _col0 (type: string)         |
|                   outputColumnNames: _col1, _col3, _col4 |
|                   Statistics: Num rows: 1 Data size: 426888009 Basic stats: COMPLETE Column stats: NONE |
|                   Select Operator                  |
|                     expressions: _col1 (type: string), _col3 (type: string), _col4 (type: int) |
|                     outputColumnNames: _col0, _col1, _col2 |
|                     Statistics: Num rows: 1 Data size: 426888009 Basic stats: COMPLETE Column stats: NONE |
|                     File Output Operator           |
|                       compressed: false            |
|                       Statistics: Num rows: 1 Data size: 426888009 Basic stats: COMPLETE Column stats: NONE |
|                       table:                       |
|                           input format: org.apache.hadoop.mapred.SequenceFileInputFormat |
|                           output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat |
|                           serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe |
|       Execution mode: vectorized                   |
|       Local Work:                                  |
|         Map Reduce Local Work                      |
|                                                    |
|   Stage: Stage-0                                   |
|     Fetch Operator                                 |
|       limit: -1                                    |
|       Processor Tree:                              |
|         ListSink                                   |

5.Map JOIN 相关设置:


1)设置自动选择Mapjoin
 

set hive.auto.convert.join = true; 默认为trueset hive.auto.convert.join = false; 默认为true


2)大表小表的阈值设置(默认25M以下认为是小表):

set hive.mapjoin.smalltable.filesize = 25000000;set hive.mapjoin.smalltable.filesize = 10000000;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/10691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[机器学习-05] Scikit-Learn机器学习工具包进阶指南:协方差估计和交叉分解功能实战【2024最新】

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…

VUE格式探究记录

1.背景 vue格式为鹰图Intergraph SP3D格式,是私有格式。博主对vue格式的直接解析可行性进行了初步的探究,记录如下。 2.探究 目前能够解析vue格式的软件有3类(其背后路线有可能有相同的), 鹰图Intergraph系列软件&…

springmvc处理模型数据

springmvc处理模型数据 很多情况下页面上需要很多数据,单单返回页面是不行的,那么springmvc如何将数据返回到该页面呢 springmvc提供了四种方式来输出模型数据 ModelAndView: 处理返回值为ModelAndView时,可以将该对象中添加数据模型 Map及Mo…

数据库监控监听

嘿嘿 又知道多一点点 说来有些惭愧 现在才发现,都怪canal 哈哈 实时监控mysql表除了canal还有什么,还有很多,比如 mysql-binlog-connector-java GitHub - liufeiit/mysql-binlog-connector-java: mysql-binlog-connector-java java库&…

前端小白一文掌握 CSS3 2D转换transform

文章导读:AI 辅助学习前端,包含入门、进阶、高级部分前端系列内容,当前是 CSS 的部分,瑶琴会持续更新,适合零基础的朋友,已有前端工作经验的可以不看,也可以当作基础知识回顾。 CSS3 中的转化 …

设计模式-结构型-桥接模式-Bridge

桥接模式可以减少类的创建 矩阵类 public class Matrix {private String fileName;public Matrix(String fileName) {this.fileName fileName;}public String getFileName() {return fileName;} } 图片抽象类 public abstract class Image {protected ImageImp imp;public …

黄芪党参茶

黄芪党参茶是一种传统的中药茶饮,由黄芪和党参两味药材煮制而成。这种茶饮在中医理论中被认为具有补中益气、调理脾胃、利水消肿、养血安神等多种功效。 主要功效 补中益气:黄芪和党参都具有补中益气的功效。黄芪味甘、性微温,有补气固表的…

常见算法策略

前言 算法策略是指在解决问题或完成任务时所采用的方法、技巧或步骤的总称。 在设计算法时,通常会考虑多种策略,并选择最适合特定问题的策略来实现算法的设计和优化。 算法策略比较 动态规划 动态规划介绍入口

基于协同过滤算法的旅游推荐系统的设计

基于协同过滤算法的旅游推荐系统的设计 Design of a Travel Recommendation System based on Collaborative Filtering Algorithm 完整下载链接:基于协同过滤算法的旅游推荐系统的设计 文章目录 基于协同过滤算法的旅游推荐系统的设计摘要第一章 前言1.1 研究背景1.2 研究目的…

动手学深度学习16 Pytorch神经网络基础

动手学深度学习16 Pytorch神经网络基础 1. 模型构造2. 参数管理1. state_dict()2. normal_() zeros_()3. xavier初始化共享参数的好处 3. 自定义层4. 读写文件net.eval() 评估模式 QA 1. 模型构造 定义隐藏层–模型结构定义前向函数–模型结构的调用 import torch from torch…

dom驱动和数据驱动的理解

DOM(Document Object Model)驱动和数据驱动在前端开发中扮演着不同的角色,它们各自有其独特的特性和应用场景。 DOM驱动: DOM(文档对象模型)驱动是传统的前端开发模式。在这种模式下,开发人员…

Spark读取Hive数据或文件如何提升速度的优化思路

场景描述 场景一:数据不均匀,个别task获取的数据比其他Task多,导致单个Task或几个Task执行很慢。场景二:数据均匀,但是每个Task数据量都很多,执行时间达不到预期。 解决思路 读取前优化:优化…

Xilinx 千兆以太网TEMAC IP核 MDIO 配置及物理接口

基于AXI4-Lite接口可以访问MDIO(Management Data Input/Output)接口,而MDIO接口连接MAC外部的PHY芯片,用户可通过AXI4-Lite接口实现对PHY芯片的配置。 1 MDIO接口简介 开放系统互连模型OSI的最低两层分别是数据链路层和物理层,数据链路层的…

联丰策略股票炒股APP市场这些板块爆发!A股后市怎么走?

查查配5月10日,A股三大指数涨跌不一。 联丰策略拥有一支由知名互联网公司和国内证券金融机构的行业专家组成的一流运营团队。凭借他们在互联网产品开发和金融风险管理方面的丰富经验,我们的团队致力于为客户提供专业和个性化的证券交易服务。 截至收盘,沪指涨0.01%,报3154.55点…

Linux 网络时间校准

随笔 目录 1. ntp 校验 2. timedatectl 命令来进行时间同步 2.1 安装 Chrony 软件包 2.2 编辑Chrony的配置文件/etc/chrony.conf,选择你想要同步的NTP服务器 2.3 确认Chrony服务已经启动 2.4 命令查看系统时间与NTP服务器的同步情况 1. ntp 校验 1. 确保你的…

leetcode-矩阵最长递增路径-102

题目要求 思路 1.通过双循环去把每一个结点作为起始点进行统计,将返回的路径长度存放在res中,取最大的res的长度。 2.递归中需要的几个值,x和y当前结点的坐标,pre用于存储上一个结点的元素值,因为要求是路径上的元素是…

8. SVG的填充和描边

在SVG中,fill和stroke属性是用来控制图形的填充和描边的。下面我将分别详细介绍这两个属性及它们的衍生属性。 Fill 属性(填充) 应用场景 绘制实心图形:如圆形、矩形、多边形等的内部填充。用于表示实体对象、区域等&#xff0…

【TC3xx芯片】TC3xx芯片电压监控和温度监控

目录 前言 正文 1.电压监控 1.1电压监控功能概述 1.2电压监控配置过程

FreeRtos内核源码分析(九)——协程

目录 一、协程简介 二、协程工作机制 2.1 协程控制块结构 2.2 协程管理方式 2.3 协程调度方式 2.4 协程通信机制 三、协程状态及状态切换 3.1 协程状态 3.2 状态切换 四、协程创建 五、协程调度分析 5.1 源码分析 5.2 逻辑图分析 六、协程通信 6.1 协程发送消息…

通过acl设置阻止数据包通过

实验拓扑和信息如图(配置信息参考上一章内容) acl设置代码 AR4 系统是视图下 acl 2000 rule 5 deny source 10.10.10.1 0 接口0视图下 数据接收时 traffic-filter inbound acl 2000 测试结果