随笔分类 -  Hive

摘要:1 阅读全文
posted @ 2022-05-20 20:37 学而不思则罔! 阅读(492) 评论(0) 推荐(0) 编辑
摘要:1.列转行 1.说明 -- 说明 : 将 一列数据 转换成一行数据 -- 使用函数 : collect_set : 返回分组内元素 的迭代器(对元素去重) collect_list : 返回分组内元素 的迭代器(对元素不去重) concat_ws('指定分隔符',iter) : 返回 将所有元素用指 阅读全文
posted @ 2022-03-30 20:38 学而不思则罔! 阅读(139) 评论(0) 推荐(0) 编辑
摘要:1.数据准备 -- DDL create table bktab ( team string comment '球队名称', number int comment '球员号码', score_time string comment '得分时间', score int comment '得分分数', 阅读全文
posted @ 2022-03-28 15:31 学而不思则罔! 阅读(247) 评论(0) 推荐(0) 编辑
摘要:需求1 : 计算除去部门最高工资, 和最低工资的平均工资 (字节跳动面试) 1. 数据准备 -- DDL create table btab ( `id` string comment '员工id', `deptno` string comment '部门编号', `salary` int comm 阅读全文
posted @ 2022-03-21 20:03 学而不思则罔! 阅读(76) 评论(0) 推荐(0) 编辑
摘要:需求说明 : 如下为某直播平台主播开播及关播时间,根据该数据计算出平台最高峰同时在线的主播 -- 数据准备 -- DDL create table test8 ( `id` string comment '主播id', `stt` string comment '主播登入时间', `edt` str 阅读全文
posted @ 2022-02-23 18:02 学而不思则罔! 阅读(309) 评论(1) 推荐(0) 编辑
摘要:需求描述 : 计算每个品牌总的打折销售天数,注意其中的交叉日期 比如 vivo 品牌,第一次活动时间为 2021-06-05 到 2021-06-15 第二次活动时间为 2021-06-09 到 2021-06-21 其中 9 号到 15 号为重复天数,只统计一次 即 vivo 总打折天数为 202 阅读全文
posted @ 2022-02-22 17:33 学而不思则罔! 阅读(595) 评论(1) 推荐(1) 编辑
摘要:需求 : 计算每个用户最大的连续登录天数,可以间隔一天。解释:如果一个用户在 1,3,5,6 登录游戏,则视为连续 6 天登录 -- 数据准备 -- DDL create table test2 ( `user_id` string comment '用户id', `login_date` stri 阅读全文
posted @ 2022-02-17 11:56 学而不思则罔! 阅读(829) 评论(0) 推荐(0) 编辑
摘要:需求1 : 某个用户连续的访问记录如果时间间隔小于 60 秒,则分为同一个组(同一个组内的数据,访问时间间隔小于60s) 1. 数据准备 -- DDL create table test3 ( `id` string comment '用户id', `showtime` string comment 阅读全文
posted @ 2022-02-16 19:02 学而不思则罔! 阅读(825) 评论(0) 推荐(0) 编辑
摘要:思考1: 怎样判断 有序序列 连续?(获取前置元素差值法、获取序号差值法) 方法1 :(获取前置元素差值法) 1. 获取当前元素的上一个元素(没有时,为当前元素本身) 3 3 5 3 6 5 7 6 9 7 10 9 11 10 2. 当前元素与前一元素求差(差值为1的表示:队中或队尾 差值!=1表 阅读全文
posted @ 2022-02-15 17:10 学而不思则罔! 阅读(260) 评论(0) 推荐(0) 编辑
摘要:1. 数据准备 -- 1. 数据准备 create table gulivideo_ori( videoId string comment '视频唯一 id(String)', -- 11 位字符串 uploader string comment '视频上传者(String)', -- 上传视频的用 阅读全文
posted @ 2022-02-15 11:38 学而不思则罔! 阅读(106) 评论(0) 推荐(0) 编辑
摘要:源码2 第四章 DDL 数据定义 1. 对数据库的操作 1. 创建数据库 2. 查询数据库 3. 切换数据库 4. 修改数据库 5. 删除数据库 1. 语法 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment 阅读全文
posted @ 2022-02-14 17:08 学而不思则罔! 阅读(93) 评论(0) 推荐(1) 编辑
摘要:源码 第二章 Hive 常见属性配置 1. hive.log 默认存储路径 /tmp/root/hive.log (当前登入用户) 2. 修改 hive.log 存储目录 1. 将 hive/conf/hive-log4j2.properties.template 修改为 hive-log4j2.p 阅读全文
posted @ 2022-02-14 16:45 学而不思则罔! 阅读(111) 评论(0) 推荐(0) 编辑
摘要:源码 第一章 Hive 基本概念 1. 什么是Hive 1. 由 Facebook 开源 用于解决 海量 结构化 日志的 数据统计 工具 2. 基于 Hadoop的 数据仓库工具 , 可以将 结构化的数据文件(HDFS) 映射成一张表 并提供 类sql的 操作 2. Hive 的本质 1. 将 Hq 阅读全文
posted @ 2022-02-14 16:42 学而不思则罔! 阅读(63) 评论(0) 推荐(0) 编辑
摘要:1. 基本类型 tinyint smalint int bigint boolean float double decimal string : 相当于varchar,可变字符串,不用指定长度,理论上可以存储2GB字符数 timestamp binary 2. 集合数据类型 struct map a 阅读全文
posted @ 2022-02-13 19:32 学而不思则罔! 阅读(75) 评论(0) 推荐(0) 编辑
摘要:1. 严格模式 1. 什么是严格模式 hive对sql语法的一些安全性的限制2. 分区表查询时必须指定分区 -- 开启限制(默认为 false) set hive.strict.checks.no.partition.filter=true; -- 测试 -- 测试 create table `pa 阅读全文
posted @ 2022-02-13 18:50 学而不思则罔! 阅读(1229) 评论(0) 推荐(0) 编辑
摘要:1. 任务并行设置 说明 : hive会将sql 转化成DAG,阶段类型有 fetch阶段、MapReduce阶段、merge阶段、limit阶段 默认情况下,hive一次只会执行一个阶段,但某些阶段可以并行执行,完全相互依赖 参数设置: -- 开启任务并行执行 set hive.exec.para 阅读全文
posted @ 2022-02-13 18:49 学而不思则罔! 阅读(602) 评论(0) 推荐(0) 编辑
摘要:1. 调整reduce个数(方式1) -- 每个reduce处理的数据量(默认为256M) set hive.exec.reducers.bytes.per.reducer=256000000; -- 每个job允许最大的reduce个数 set hive.exec.reducers.max=100 阅读全文
posted @ 2022-02-13 12:52 学而不思则罔! 阅读(1711) 评论(0) 推荐(0) 编辑
摘要:1. 小文件合并位置 : 1. map输入端 对小文件合并 2. map输出端 对小文件合并 3. reduce输出端 对小文件合并2. map输入时,对小文件合并 参数设置 : -- CombineHiveInputFormat 按切片大小切分(多个小文件可归一个切片) -- 默认实现类 为Com 阅读全文
posted @ 2022-02-13 12:48 学而不思则罔! 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:1. 合理设置Map数 1. MapTask任务数决定因素: 1. 文件个数 2. 文件大小 3. 集群设置的文件块大小 4. 指定的 切片大小 5. 处理文件的inputfor的实现类 2. 切片个数 = MapTask个数 1. 确定 InputFormat的实现类 hive中主要使用 : Hi 阅读全文
posted @ 2022-02-13 12:26 学而不思则罔! 阅读(1260) 评论(1) 推荐(0) 编辑
摘要:1. 列处理 : 说明 : 避免使用 select *,有分区时,要指定分区2. 行处理 : 关联原则 : 在关联操作时,能先where的尽量先where,减少数据集 3. hive底层优化策略-谓词下推(predicate pushdown) : 什么是谓词下推 ? 1. 将过滤表达式尽可能移动至 阅读全文
posted @ 2022-02-11 16:07 学而不思则罔! 阅读(565) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示