- 3
- 0
- 约3.77千字
- 约 12页
- 2022-10-18 发布于山东
- 举报
献给初学者:大数据开发之路
大数据开发之路漫漫其修远兮,吾将上下而求索。很多入门大数据的小伙伴,可
能第一个接触到的,就是一只可爱的“小象”,也就是我们的大数据领域的数据
库房工具hive。
这只小象给我们提供了方便类SQL盘问语言HQL来操纵数据,使得我们一开始
不用编写复杂的代码,就可以轻松的探索数据。Hive对于熟悉传统数据库的同
学来说,算是很友好的一个入门工具。
关注可儿不迷路。每日都会分享一些学习小技巧。还有可儿给大家整理准备的一
些学习资料分享。需要的私信可儿“资料”就可以领取啦。
原理
在大数据生态中,hive一般作为数据库房来使用。什么是数据库房呢?简单来
说就像一个大粮仓,里边堆着各样各样的粮食,比方小麦、玉米、土豆、大米等
等。数据库房里是一个数据会集体,把不同数据源按照一定的形式会集统一起来。
Hive本身是不做数据存储的,它是成立在散布式存储系统HDFS之上,我们平
常看到的表数据其实本质上来说仍是HDFS的文件。Hive把这些HDFS数据文
件,经过元数据规则映射为数据库的表,并且可以提供SQL操作的功能。Hive
总体结构比较简单,下方是整体的hive架构图,我们可以看到,总体有三个组
件:用户接口、元数据系统、驱动器。
用户经过用户接口来输入操作指令。一般接口有三种形式:
CLI端:一般在linux服务器直接输入hive即可进入;
WEB模式:经过命令bin/hive--servicehwi启动,默认接见9999端口;
远程模式:一般是JDBC之类的编程接口;
Hive的核心在于驱动器,一般驱动器接收到用户接口传达的一条SQL之后,会
进行下面的一系列操作:
驱动器开始进行语法和语义解析
生成逻辑计划并且逻辑优化
生成物理计划
发送计划到执行引擎(常用引擎有mapredue和sprk)执行
结果返回
而元数据系统一般传统数据库来承载,主要记录了包括hive表的名字,表的列
和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
常用hive语法
认识了hive的基础原理之后呢,我们这里结合工作中一些需求,来介绍下开发
同学常用的hive操作。
分组统计
作为一名SQL仔,经常会要去统计一些奇奇怪怪的指标,比方不同年龄段的UV,
下单数的小时散布之类的。一般常用的分组就是groupby了,然后配合上一些
窗口函数,SUM、AVG、MIN、MAX、COUNT等,就可以实现我们很多统
计需求了。比方下边的统计时间段的独立用户数,盘问结果如下列图所示:
关系盘问
有时候我们盘问的数据存放在不同的表中,那关系盘问就派上用场了。所谓关系
盘问,一般就是经过两张表相同的字段值关系起来,同时盘问两张表的记录。
Hive中常用关系分内外关系。
我们先成立两张简单的表tab_a和tab_b,用实例来说明关系体系。表结构和表
数据如下列图所示:
内关系一般使用重点字Join或innerjoin,内关系只返回关系上的结果。
外关系的形式就比较多样化了,又分为:左外关系:重点字为left
[outer]join,以前边的表为主表,返回记录数和主表记录一致,
关系不上的字段为null;右外关系:重点字为right[outer]join,
和左外关系相反,则是今后边的表为主表。全外关系:full[outer]
join,返回两个表的去重之和,关系不上的字段为null。
行列变换
有时候我们会遇到这样的需求,需要把多列的数据平铺到一行上输出。比方盘问
用户的接见轨迹,这时候有两个函数就起上作用了。仍是让我们先来看看效果。
这两个sql的作用都是把每个用户的点击轨迹拼接暂展示出来,其中collect_set
和collect_set可以把列数据合并,转为一行。而两个的唯一区别就是collect_set
会进行去重。
上述讲的是行转列,还有些需求,希望我们能把列数据拆分成多行,比方数据结
构如下,
Page_idStringAd_idArrayint
A[1,2,3]
B[3,5,6]
C[2,4,5]
要统计每个广告在所有页面出现的次数,这时候,我们可以先把同一列的数据线
拆成多行,hive提供了explode展开函数,详尽效果如下列图:
Explode一般配合lateralview使用,把字段内容铺开成虚构视图。接下来我
们再这个基础之上,就可以使用统计函数来进行解析。
取TopN记录
给数据分组排序再取前几条记录,也是我们较为常有的需求。hive提供了
row_number函数,可以对排序值进行编号。举个栗子,要取省份的温度最高
的城市,数据如下:
省份城市温度
广东佛山34
广东广州30
江西赣州31
江西南昌28
江西萍乡29
湖南长沙26
湖南衡阳25
我们可以使用row_number( )组合groupb
您可能关注的文档
最近下载
- 《新编应用文写作(第2版)》全套教学课件.pptx
- 美的热水器F80- A20GA2(H)专项试验报告.pdf VIP
- 湖南省长沙市雅礼中学2024-2025学年高二上学期期末考试数学试题(含答案).docx VIP
- 2025年最新修订中华人民共和国监察法实施条例学习解读专题宣讲PPT课件.pptx VIP
- 量子纠缠光源性能表征和测试方法-15页.pdf VIP
- 场厂内机动车辆考试试题.docx VIP
- 水库坝线选择、正常蓄水位、施工总布置编制规定.pdf VIP
- 中学校长述职报告【7篇】.docx VIP
- .直线式包裹分拣机输送分拣装置设计.doc VIP
- 2025年春新人教版七年级下册历史全册课件.ppt
原创力文档

文档评论(0)