Hive
文章平均质量分 64
小白菜_scc
这个作者很懒,什么都没留下…
展开
-
从零开始学Shell - Hive示例
更多请参考:https://blog.csdn.net/zhsworld/article/details/119964283kinit -kt /home/demo/xxx.keytab xxx@xxx# 按照时间顺序,从距离今天的第30天开始,一直循环查询到距离今天的第10天for((i=30;i>=10;i--))do # 获取日期参数 day_day=`date -d "-$i day" +%Y%m%d` # sql语句 hql_demo=" set hive.原创 2021-09-07 12:06:33 · 200 阅读 · 0 评论 -
Hive自定义函数 - Java的一个例子
一 需求对手机号进行脱敏处理,将中间4位数字替换成****对数据格式进行判断:11位数字 对于格式正确的数据,将中间4位数字替换成**** 对于格式不正确的数据,将原始数据返回二 Java实现1 步骤概览2 代码实现2.1三 Python实现...原创 2021-08-30 09:39:01 · 419 阅读 · 0 评论 -
hive复合类型:array、map、struct
一 基本概念类型 描述 语法 举例 array 一组相同类型数据的集合 ARRAY<data_type> 如果数组值为[‘John’, ‘Doe’],那么第2个元素可以通过数组名[1]进行引用 map 一组键-值对数据的集合,使用key可以访问值 MAP<primitive_type, data_type> 如果某列的数据类型是MAP,其中键->值对是’first’->’John’和’last’->’原创 2021-08-24 14:31:45 · 470 阅读 · 0 评论 -
Hive 实战调优参数大全
-- 开启动态分区,写入数据时需要set hive.optimize.sort.dynamic.partition=true;-- 默认值是strict,默认要求分区字段必须有一个是静态的分区值set hive.exec.dynamic.partition.mode=nonstrict;-- 控制在同一个sql中的不同的job是否可以同时运行。默认是Falseset hive.exec.parallel=true;-- 同一个sql允许并行任务的最大线程数。默认是8set hive.ex.原创 2021-08-09 13:02:12 · 782 阅读 · 0 评论 -
MapReduce Shuffle 参数调优【转载】
Map阶段-- 环形缓冲区大小,默认100m set mapreduce.task.io.sort.mb = 200;-- 环形缓冲区溢写阈值,默认0.8 -->set mapreduce.map.sort.spill.percent = 0.9;-- merge合并次数,默认10个 -->set mapreduce.task.io.sort.factor = 20;-- maptask内存,默认1g; maptask堆内存大小默认和该值大小一致mapreduce.m转载 2021-08-02 15:56:50 · 546 阅读 · 0 评论 -
Hive优化笔记(3 - 一些参数)
动态分区-- 开启动态分区。默认值是Falseset hive.exec.dynamic.partition=true; -- 默认值是strict,默认要求分区字段必须有一个是静态的分区值set hive.exec.dynamic.partition.mode=nonstrict;-- 一个DML操作可以创建的最大动态分区数,默认是1000set hive.exec.max.dynamic.partitions=100000; -- 每个节点生成的动态分区的最大个数。默认值是默认100原创 2021-08-01 22:57:31 · 462 阅读 · 0 评论 -
Hive优化笔记(2 - 数据倾斜)
一 基本概念简单来说数据倾斜就是数据的key 的分化严重不均,造成一部分数据很多,一部分数据很少。默认情况下, Map 阶段同一 Key 数据分发给一个 reduce,当一个 key 数据过大时,就发生倾斜了数据倾斜一般有两种情况:变量值很少:单个变量值的占比极大,常见的字段如性别、学历、年龄等变量值很多:单个变量值的占比极小,常见的字段如收入、订单金额之类的其在reduce的表现有二:① 任务进度长时间维持在99%,只有少量reduce子任务未完成。这是因为其处理的数据量和其他reduce..原创 2021-08-01 19:31:33 · 248 阅读 · 0 评论 -
Hive优化笔记(1 - 非数据倾斜)
最重要的:查看SQL的执行计划,优化业务逻辑 explain sql语句;列裁剪和分区裁剪列裁剪就是在查询时只读取需要的列,这样可以避免全列扫描分区裁剪就是只读取需要的分区,这样可以避免全表扫描谓词下推其基本思想是将过滤表达式尽可能移动至靠近数据源的位置,以使真正执行时能直接跳过无关的数据。在HiveSQL中,就是将where谓词逻辑都尽可能提前执行本地模式(local mode)在数据量较小的情况下,hive本地模式可提高查询效率。原因是一般情况下,hive...原创 2021-08-01 19:31:04 · 187 阅读 · 0 评论 -
Hive数据压缩_MR数据压缩_存储数据压缩
一 MR数据压缩Hadoop三大核心:HDFS(负责存储)、MapReduce(负责计算)、Yarn( 负责调度计算)Hive基于HDFS存储,Hive计算是将Hql语句转换为MR任务,而MR任务可以对处理的数据进行压缩。所以所谓Hive数据压缩就是MR数据压缩1、基本含义MR压缩:通过压缩编码对mapper或者reducer的输出进行压缩,以减少磁盘IO,提高MR程序运行速度,但相应增加了cpu运算负担压缩特性运用得当能提高性能,但运用不当也可能降低性能。其基本原则是:运算密.原创 2021-07-31 22:37:30 · 291 阅读 · 0 评论 -
Hive 自定义函数 - Java和Python的详细实现
一 写在前面Hive的自定义函数(User-Defined Functions)分三类:UDF:one to one,进一出一,row mapping。是row级别操作,类似upper、substr等 UDAF:many to one,进多出一,row mapping。是row级别操作,类似sum、min等 UDTF:one to many ,进一出多。类似:alteral view与explode实现的一行变多行接下来写一个统计统计字段长度的UDF二 JAVA实现1、UDF函..原创 2021-07-30 19:35:36 · 985 阅读 · 0 评论 -
Hive 统计连续天数
第一步:创建表-- 创建表create table if not exists continue_days(uid int comment '员工id',tdate string comment '打卡日期',is_flag int comment '是否打卡')comment '打卡表'row format delimited fields terminated by ','...原创 2020-04-14 22:15:22 · 1846 阅读 · 0 评论 -
Hive存储原理,数据库/表基本操作
官方文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual一 数据存储Hive 数据分两部分:一部分是真实的数据文件,存放在hdfs上;另一份是真实数据的元数据(即数据的描述信息,比如说存储位置、时间、大小等),存储在关系型数据库中(如:mysql),存放的配置可以修改hive-site.xml来完成只需...原创 2020-04-06 21:26:04 · 762 阅读 · 0 评论 -
一文弄清楚hive窗口函数
1 定义窗口函数,又称分析函数Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group.The group of rows is ...原创 2020-02-06 21:07:36 · 560 阅读 · 0 评论 -
从零搭建hive环境_ jdk 8 + SSH + hadoop 2.9.2 + hive 3.1.2
目录一、Ubuntu18.04 安装 jdk 8二、安装SSH三、安装hadoop 2.9.2四、安装hive3.1.2Windows 虚拟机安装 Ubuntu18.04 + Vim + Mysql5.7参照https://blog.csdn.net/zhsworld/article/details/103740953一、Ubuntu18.04 安装 jdk 8...原创 2020-02-04 22:14:47 · 547 阅读 · 0 评论