vs2017js网站开发方法/新媒体营销成功案例
Hive的函数
Hive的内建函数
-- 列出所有可用的函数 show functions; -- 查看某个函数的用法 desc function substr; -- 查看函数的详细用法(包含案例) desc function extended substr;CO
-
函数的学习方法
-
官方文档 LanguageManual UDF - Apache Hive - Apache Software Foundation
-
日期相关和String相关的函数 每个至少操作一遍,留下印象
-
Hive也提供用户自定义函数的方式 添加函数
-
所有hive函数都放在
org.apache.hadoop.hive.ql.udf
包中 -
自定义函数的过程
-
创建maven工程引入依赖
hive-exec
-
编写类 继承
org.apache.hadoop.hive.ql.udf.UDF
-
编写方法 evaluate ,方法名不能变,但允许重载
-
将工程打成jar上传到HDFS
-
在Hive中创建函数
-
create [temporary] function db_name.func_name as '类的引用' using jar 'hdfsJar路径';
DQL——查询
-- 去重 HQL中通常需要使用各种函数对查询的字段进行处理 SELECT [ALL | DISTINCT] select_expr, select_expr, ... -- 从哪个表查FROM db_ref.table_ref t1, (select xxx) t2 -- 添加过滤条件[WHERE where_condition] -- 分组 MR底层指定分区条件[GROUP BY col_list] -- 排序 (全局排序) MR要实现全局排序 就只能启动1个reducer[ORDER BY col_list] -- 如果MR分区和排序的字段 是同一个字段,则可以直接使用 CLUSTER by[CLUSTER BY col_list -- 指定按某些字段进行分布 (MR分区,自定义partitioner)| [DISTRIBUTE BY col_list] -- 指定分区内的排序方式 (MR 中的shuffle排序)[SORT BY col_list]] -- 限制读取原始数据的条数[LIMIT number]