hive
hive
zuiziyoudexiao
真正的自由不是随心所欲,而是自我主宰,若求随心所欲,则必随波逐流。
展开
-
hive窗口函数
概述窗口函数与分组聚合函数类似,都是针对一个分组进行处理,不同的是分组聚合是每个分组数据生成一个结果,而窗口函数是每个分组中每一行生成一个结果。首先准备测试数据jack 开发 18tom 开发 25shy 销售 63duke 开发 21zoom 销售 90penut 销售 22leyan 销售 65jkl 开发 35ning 开发 75faker 销售 27wwk 销售 33letme 开发 24mlxg 开发 77pdd 开发 75369 开发 33创建stu表原创 2020-06-26 11:45:08 · 335 阅读 · 0 评论 -
hive长表转宽表
需求分析本地原始数据name message valuetom age 18tom sex 男tom address 西安jack age 25jack sex 女jack address 重庆转换后数据name age sex addresstom 18 男 西安jack 25 女 重庆实现思路创建stu表 导入数据create table stu( name string, message string, value string )原创 2020-06-26 11:39:44 · 2476 阅读 · 0 评论 -
hive行转列与列转行
简单行转列将一个融合多个信息的字段拆分为多行aaa,bbb,ccc ===> aaa bbb ccc实现方法:利用内置UDTF函数explode实现split('aaa,bbb,ccc',','); //根据逗号进行分割,将复合字段转化为hive数组类型explode(split('aaa,bbb,ccc',',')); //对得到的数据使用explode函数拆分为多行实现结果hive>原创 2020-06-26 11:37:30 · 1574 阅读 · 0 评论 -
hive内置函数
hive函数分类UDF:一进一出UDAF:多进一出UDTF:一进多出内置UDF函数substring 字符串截取函数hive> select substring('hello',1,2);OKheconcat_ws 指定分隔符连接字符串hive> select concat_ws('**',split('aaa-bbb-ccc','-'));OKaaa**bbb**cccsplit 分割字符串为数组形式hive> select split(原创 2020-06-26 11:30:52 · 169 阅读 · 0 评论 -
hive分桶表
分桶表与分区的分目录不同,分桶是将数据按照指定的字段进行划分到多个文件当中去,分桶就是MapReduce中的分区.分桶规则:对分桶字段值进行哈希,哈希值除以桶的个数求余,余数决定了该条记录在哪个桶中,也就是余数相同的在一个桶中。优点:1、提高join查询效率 2、提高抽样效率标题分桶表操作开启 Hive 的分桶功能set hive.enforce.bucketing=true;创建临时表create table temp (name string,type string)原创 2020-06-26 11:27:01 · 424 阅读 · 0 评论 -
hive分区表
分区表的概念在大数据中,最常用的一种思想就是分治,我们可以把大的文件切割划分成一个个的小的文 件,这样每次操作一个小的文件就会很容易了,同样的道理,在hive当中也是支持这种思想 的,就是我们可以把大的数据,按照每月,或者天进行切分成一个个的小的文件,存放在不同 的文件夹中.比如我们要收集某网站的日志数据存放到hive表中,我们可以按日期进行分目录存放,避免只存放在一个文件中造成文件过大。我们也可以指定多个分区字段进行多级目录存放。分区表基本操作首先在本地准备两个文件student1.tx原创 2020-06-26 11:23:55 · 224 阅读 · 0 评论 -
hive排序
准备阶段准备一个保存员工信息的文件 包含每个员工的姓名 部门和成绩jack 测试 60tom 开发 88shy 销售 56duke 开发 95zoom 销售 26penut 销售 63leyan 销售 77jkl 开发 54ning 测试 12faker 销售 99wwk 销售 68baolan 测试 55uzi 测试 66letme 开发 78然后创建一个myuser表create external table myuser( name string,原创 2020-06-26 11:11:57 · 253 阅读 · 0 评论 -
hive join查询
数据准备首先准备两张表 员工表和部门表员工表数据 表示员工姓名和所在部门shy 销售zoom 销售penut 销售jack 测试ning 测试tom 开发duke 开发jkl 财务rookie 财务部门表数据 表示部门名称和部门负责人销售 马云测试 马化腾开发 李彦宏算法 雷军在hive中创建两张表-- 员工表create external table person( name string, dep string) row format原创 2020-06-26 11:07:52 · 444 阅读 · 0 评论 -
hive简单查询
select完整格式完整格式如下select [distinct] 字段名from 表名where 查询条件group by 分组字段having 筛选条件order by 排序字段limit 限制条件查询顺序为from -- 拿到表的数据where -- 对根据条件表数据进行筛选group by -- 根据某个字段进行分组having -- 对分组之后的数据进行再次筛选order by -- 对数据排序(排序不止有o原创 2020-06-26 11:02:02 · 379 阅读 · 0 评论