1 Hive基础
知识要点:
1.1 大数据简介
1.2 认知Hadoop
1.3 认知Hive
1.4 基础语法
1.5 常用函数
1.6 重点练习
1.1 大数据简介
大数据(big data):是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
1.2 认知Hadoop
- Hadoop是Apache基⾦组织下的⼀套开源软件平台。
- Hadoop提供的功能:利⽤服务器集群对海量数据进⾏分布式处理。
- Hadoop的核⼼组件:HDFS、MapReduce、YARN、Hadoop基础功能库。
组件 含义 特点 HDFS 块级别的分布式文件存储系统 Hadoop 中自带的分布式文件存储系统,并且是Hadoop工具的核心基础组件之一;
分布式存储系统可以理解为多态单机存储系统的各司其职、协同合作,统一的对外提供存储的服务。
MapReduce 分布式计算框架 MapReduce是采⽤⼀种分⽽治之的思想设计出来的分布式计算框架-如⼀复杂的计算任务,单台服务器⽆法胜任时,可将此⼤任务切分成⼀个个⼩的任务,⼩任务分别在不同的服务器上并⾏的执⾏;最终再汇总每个⼩任务的结果.
MapReduce由两个阶段组成;Map阶段(切分成⼀个个⼩的任务)、Reduce阶段(汇总⼩任务的结果)。
YARN 作业调度和资源管理器 Hadoop 资源管理器,通用资源管理系统和调度平台;
为上层应用提供统一的资源管理和调度;
为集群在利用率、资源统一刮玻璃和数据共享等方面带来了巨大好处。
1.3 认知Hive
- 基于Hadoop的开源的数据仓库⼯具,⽤于处理海量结构化数据。
- Hive把HDFS中结构化的数据⽂件映射成数据表。
- Hive通过把HiveSQL进⾏解析和转换,最终⽣成⼀系列在hadoop上运⾏的mapreduce任务,通过执⾏这些任务完成数据分析与处理。
- HiveSQL和MySQL⼀样,都遵循着SQL的标准,因此它们很多语句都是⼀样的。
Hive与传统数据库的比较
Hive RDBMS 查询语言 HQL SQL 数据存储位置 HDFS 块设备或本地 数据更新 不建议 经常修改 索引 0.8版本后加入位图索引 右复杂的索引 处理数据规模 大 小 执行 MapReduce 数据库自身引擎 执行延迟 较高 很低 可拓展性 较好 非常有限
1.4 基础语法
| 语法结构 | 参数意义 |
|
select ...A... from ...B... where ...C... group by ... having ... order by ... |
A 列名 B 表名 C 筛选条件 ASC 升序(默认) DESC 降序 对多个字段进行排序:order by A ASC,B DESC每个字段都要指定升序还是降序 |
|
需求1: 选出城市在北京,性别为女的10个用户 |
|
|
需求2: 选出在2018年12月31日,购买的商品品类是food的用户名、购买数量、支付金额 |
|
|
需求3: 计算出在2019年4月支付金额最多的TOP5用户 |
|
1.5 常用函数
查看Hive中的函数:show functions;
查看具体函数的⽤法:①desc function 函数名;②desc function extended 函数名.
| 需求案例 | |
| 如何把时间戳转化为⽇期时间? |
SELECT pay_time, |
| 如何计算⽇期间隔? |
需求4:计算出⽤户的⾸次激活时间与2019年5⽉1⽇的⽇ |
| 条件函数(case when / if) |
需求5:统计以下四个年龄段 20岁以下、20-30岁、30- 需求6:统计不同性别⽤户的等级⾼低分布情况(假设 |
| 字符串函数 | 需求7:计算出每个⽉的拉新情况。
注意:substr(string A,int startindex,int |
| 关键需求8:统计不同⼿机品牌的⽤户数 |
-- ⽅式⼀ |
1.6 重点练习
|
需求9:统计在2018年购买的商品品类在两个以上的⽤ |
||
|
需求10:⽤户激活时间在2018年,年龄段在20-30岁和
|
||

浙公网安备 33010602011771号