hive总结回顾

2023-10-27

UDAF

继承UDAF

内部定义一个静态类,实现UDAFEvaluator接口

实现init,iterate,terminatePartial,merge,terminate五个方法

编写代码完成后install打包

Rz -bye 上传到本地

Hdfs dfs -put -f **** * /**/**

上传到hdfs

Add jar hdfs:// jar包所在路径

Create temporary function 函数名称 as ‘主类路径’

Hive sql中调用udaf函数

注意 缓存问题,可先退出再重新执行或更改jar包名称

UDTF

解决一行输入多行输出,即1:n,即行转列应用

往往被lateral view explode+udf等替代实现,比直接用udtf会更简单、直接、更灵活一些

关于MapJoin的问题剖析

概念说明

将join的本来应该是reduce进行关联查找的过程,改成由纯map端进行关联查找。

特点特征

减少了reduce的处理,全部放到map端进行操作。

减少了数据移动,提升了IO和计算效率。

应用场景

大表join小表的时候,

大数据块join小数据块的时候。

代码实现

在hive当中已经默认开启了该功能。

关于数据倾斜的问题剖析

概念说明

在大数据处理环境下,数据处理过程出现明显的倾斜现象,导致任务整体迟迟不能完全结束。

特点特征

在作业或是任务在分布式执行时,经常出现大部分Task任务很快结速,而很少一部分Task,往往是1个或是1-2个一直卡在99%的情况下。

典型的木桶原理,任务的执行完成时间,取决于最后一个Task的完成时间。

应用场景

假倾斜场景

实际数据并没有倾斜,而是由于人为代码原因导致的倾斜。

比如:

数据格式设置不对,导致没有发挥分布式处理的优势

:比如说设置成gzip,snappy。

SQL编写不合理-计算用户uv数

如:select count(distinct uid) from user;

改成:

select count(1) from (select 1 from user group by uid) temp;

代码优化就可以了

真倾斜场景

即数据或是任务本身真的存在客观的倾斜性

比如:VIP会员数据的倒卖倒买问题,导致极少数VIP帐号对应的数据量极多,而正常帐号较少。

解决方法:只能分而治之,将倾斜的数据分类,将正常数据分类,然后进行分别计算。

比如:硬件机器本身配置不均衡导致的计算能力倾斜问题。

解决方法:

第1种是硬性解决即让硬件更加均衡。

第2种是通过NodeLabel方式。

代码实现

参考如上的解决方法即可。

关于二次排序的问题剖析

概念说明

在map到reduce的处理过程当中,按照2个字段进行升序排列,而不是像默认的一次排序那样,只按照key一个字段排序。

特点特征

2个字段排序,第1个字段若有比较结果则按第1个字段排序,若相等,则按第2个字段升序排列。

应用场景

当单个字段不能够满足排序要求时,均可使用二次排序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hive总结回顾 的相关文章

随机推荐

  • Python-Pygame实践:《杀死冠状病毒》

    2020年春节前后 冠状病毒爆发 遂编写这个游戏 希望武汉人民加油 中国人民加油 杀死病毒 获得胜利 游戏的内容参考的是Eric Matthes的 Python编程从入门到实践 中的项目1外星人入侵 稍作修改 以下是书中对该游戏的描述 在游
  • 【Review】用于SLAM的地点识别(Place Recognition)

    目录 1 Point Cloud Lidar 2021 ICRA ICCV IROS CVPR Others 2020 2019 ICCV 2018 IROS 2 Researchers 3 Visual 2021 IROS ICCV CV
  • linux Mysql 安装

    目录 前言 概念 应用环境 安装步骤 修改密码 按装脚本 MySQL 操作案例 创建数据库 数据表 MySQL 5 7远程登录 前言 本内容主要讲述在 linux 系统下怎么样安装 Mysql 以下讲述过程经过多方面整理而成 概念 MySQ
  • 2021-08-10 layui折叠面板的使用

    官方参考 element模块元素操作文档 Layui 面板 在线演示 Layui 实现效果 html 在折叠面板的父容器设置属性 lay accordion 来开启手风琴 那么在进行折叠操作时 始终只会展现当前的面板 div class l
  • 抓包微信下线的操作思路

    我来详细介绍一下实现微信下线操作的思路 1 首先 你需要清楚微信客户端和服务器之间的通信流程 微信客户端通过向服务器发送登录请求完成登录操作 而微信下线操作则需要模拟微信客户端向服务器发送下线请求 2 接下来 你需要使用网络抓包工具对微信客
  • 矩阵反演公式的推导证明

    已知 A A A为 n n n times n n n阶非奇异矩阵 D
  • caffe的Net类学习

    注意 这是临时的学习心得 乱得很 莫耽误各位时间 caffe的Net类 Net m文件 注释 classdef Net lt handle Wrapper class of caffe Net in matlab properties Ac
  • 基于SpringBoot框架的协同过滤算法的体育用品商城设计与实现

    系统合集跳转 一 系统环境 运行环境 最好是java jdk 1 8 我们在这个平台上运行的 其他版本理论上也可以 IDE环境 Eclipse Myeclipse IDEA或者Spring Tool Suite都可以 tomcat环境 To
  • 数据挖掘简答知识点总结

    绪论 为什么进行数据挖掘 1 已获得的大量数据往往是数据丰富但信息贫乏的 2 计算设备变得廉价且功能强大 3 没有强大的工具的话 数据量已经超过人类的理解能力 4 数据收集存储的速度越来越快 5 传统技术已经不适用于原始数据 6 数据挖掘有
  • 一个函数有多少行代码比较合适?

    要看功能 如果一个方法可以分成好多个子功能的话尽量将其抽取出来作为单独的方法 曾经重构过好多这样的代码 不是写代码的人水平低 主要还是不负责 懒得多想 个人觉得函数的写法应该遵循以下两点基本的原则 1 当发现函数中有重复代码的时候 说明你可
  • html和css

    首先说明 这两者根本不能相比 他们无论从什么方面相比都是不同的 其中html可以通过标准的标签达到一定显示功能效果css则是样式表 是对构成网页的元素 如字体 内容位置等 作出视觉上的设计效果 一个网页可以没有css样式 但不能没有html
  • 变量 、常量、枚举

    2 变量 常量 枚举 2 1 变量 变量 计算机语言能存储计算结果或表示值的抽象概念 可以通过变量名访问 变量名由字母 数字 下划线组成 其中首个字符不能为数字 声明变量的一般形式是使用 var 关键字 var identifier typ
  • 浅谈IPv4协议与IPv6协议的区别

    浅谈IPv4协议与IPv6协议的区别 咱们先了解下什么叫IPv4协议和IPv6协议 IPv4 是互联网协议 Internet Protocol IP 的第四版 应属第一个被广泛应用 构成现阶段互联网技术的基础的协议 1981年 Jon Po
  • 生命在于研究——ensp配置旁挂三层组网示例【OSPF+两个无线网络WPAPSK认证+DHCP】

    ensp配置旁挂三层组网示例 OSPF 两个无线网络WPAPSK认证 DHCP 一 业务需求 1 路由使用OSPF Vlan的网关配置在LSW1上 2 WLan采用三层组网 AC旁挂模式 3 创建两个无线网络 分别为ycu和guest 其中
  • 利用 vant 封装精确到秒的时间选择器,让 vue 开发更简单

    前言 在移动开发中 时间选择的控件比比皆是 但却鲜有类似的组件可以精确到秒级别的 官方可能是考虑到小屏幕手机的显示问题 也可能是使用的场景寥寥无几 但是少不代表没有 所以最近花了点时间基于 vant 组件库封装了一个可以精确到秒级别的时间选
  • MFC关于Radio按钮的操作

    基础介绍 radio button通常都是成组使用的 在一组里面是互斥的 分组的原则是 1 首先将RadioButton控件定好Tab顺序 具体方法 工具栏 格式 gt Tab键顺序 选项选中 然后按照预定的顺序依次点击对话框上面的Radi
  • shell脚本中执行kill进程

    继上一篇文章 只是在linux中用命令行中操作 之后我实战在shell脚本中 发现问题累累 在shell中kill掉程序写的命令 ps ef grep pid grep v grep awk print 3 执行shell脚本 运行结果 s
  • sqli-labs靶场(1-22关)

    目录 第一关 第二关 第三关 第四关 第五关 盲注 第六关 盲注 第七关 报错盲注 第八关 时间盲注 第九关 时间盲注 第十关 时间盲注 第十一关 报错 第十二关 第十三关 第十四关 第十五关 布尔类型盲注 第十六关 第十七关 update
  • Java POI实现Excel导出

    ExcelFormatUtil样式工具类 package com ymf invoice common utils import org apache poi hssf util HSSFColor import org apache po
  • hive总结回顾

    UDAF 继承UDAF 内部定义一个静态类 实现UDAFEvaluator接口 实现init iterate terminatePartial merge terminate五个方法 编写代码完成后install打包 Rz bye 上传到本