![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hive
文章平均质量分 63
但行益事莫问前程
大数据研发, 开发flink实时流
展开
-
hive 自定义函数、GenericUDF、GenericUDTF(自定义函数计算给定字符串的长度、将一个任意分割符的字符串切割成独立的单词)
当Hive提供的内置函数无法满足业务处理需要时,可以考虑使用用户自定义函数官方文档 UDF(User-Defined-Function) UDAF(User-Defined Aggregation Function)聚集函数, UDTF(User-Defined Table-Generating Functions) (1)继承Hive提供的类 (2)实现类中的抽象方法 (3)在hive的命令行窗口创建函数添加jar创建function (4)在hive的命令行窗口删除函数原创 2022-07-05 23:04:18 · 67083 阅读 · 0 评论 -
hive 常用内置函数 (NVL 空字段赋值 、CASE WHEN THEN ELSE END 流程控制函数、行转列、列转行、 窗口函数、Rank)
测试数据: 查看系统自带的函数 显示自带的函数的用法 详细显示自带的函数的用法语法:说明:如:语法:说明:如:说明::返回输入字符串连接后的结果,支持任意个输入字符串;:它是一个特殊形式的 CONCAT()。第一个参数是剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间;注意: CONCAT_WS 必须是 对于不同类型可:函数只接受基本数原创 2022-07-03 21:46:43 · 48385 阅读 · 0 评论 -
hive 分区表(msck repair 、动态分区)、分桶表(Load语句不会分桶)、抽样查询
(1)创建分区表语法注:,可将分区字段视为表的伪列。 (2)加载本地文件数据到指定分区1.2 增加删除多个分区、查看表的分区 (1)增加分区注:无需隔开 (2)删除分区 (3)查看分区表的分区 (1)创建分区表语法 (2)加载本地文件数据到指定分区 (3)查询分区数据 命令用于修复表分区,常用于手动复制分区数据到hive表location下,此分区没有记录到Hive元数据,所以查不到数据如: 上传数据: 查询不到结果: 执行修复命令: 查询原创 2022-07-03 15:53:57 · 68013 阅读 · 0 评论 -
hive 全局排序(Order By)、每个Reduce内部排序(Sort By)、Cluster By
如: emp表按照部门和工资升序排序 对于大规模的数据集order by的效率非常低。在并不需要全局排序时,可使用sort by(desc降序 asc升序)。Sort by在每个Reducer内部进行排序,。 (distribute by 控制某个特定行到哪个reducer,类似MR中partition分区)如: employee表根据部门分区,按照员工编号排序 当时,可以使用cluster by方式。如: employee表根据部门号分区,按照部门号排序...原创 2022-07-03 14:14:43 · 48004 阅读 · 0 评论 -
hive like语法、RLIKE正则匹配字符串
(任意个字符)。 如:查找名字中第二个字母为A的员工信息: 可以通过来指定匹配条件 如:查找名字中带有A的员工信息:查找名字以FOR开头的员工信息:查找名字以IN结尾的员工信息:...原创 2022-06-30 21:38:18 · 72591 阅读 · 0 评论 -
hive limit分页查询、row_number()分页查询
hive执行limit语句报错,分页失败如: (1)按照deptno分组,不排序 (2)按照empno进行排序,不分组,排序列命名rownum (3)按照empno排序,同时根据deptno进行分组 从原表中查询第6到第10行数据注: row_number最好写一个,不然每次都排序很耗性能...原创 2022-06-30 20:21:56 · 56380 阅读 · 0 评论 -
hive 导入数据的5种方式
:表示覆盖表中已有数据,否则表示追加如: 从本地文件系统加载数据到hive表 从hdfs文件系统加载数据覆盖hive表insert into:以追加数据的方式插入到表或分区,原有数据不会删除insert overwrite:覆盖表中已存在的数据3. 创建表时加载数据(1)创建表时使用查询语句(2)创建表时通过指定加载数据路径先用export导出后,再将数据导入()如:从a集群中导出hive表数据:向b集群中导入数据到hive表:Sqoop User Guide...原创 2022-06-30 14:21:55 · 63687 阅读 · 0 评论 -
hive 内部表、外部表、使用场景举例、内部表与外部表转换
默认创建的表都是管理表( ),即内部表; Hive控制:默认情况下会将内部表的数据存储在由配置项所定义的目录的子目录下。 当删除一个内部表时,Hive同时会删除表中的数据; 内部表不适合与其他工具共享数据。查询表的类型 可以让用户创建一个外部表,(内部表和外部表建表均可指定); 在删除表的时候,Hive认为其并非完全拥有外部表的数据的所有权。删除外部表仅删除描述表的元数据信息,数据会被保留。 (1)准备一份emp.txt文件上传到hdfs (2)在hive上创建外部表,并指定原创 2022-06-29 23:09:07 · 48687 阅读 · 0 评论 -
hive hive窗口打印库和表头、复杂类型ARRAY、MAP 和 STRUCT的定义和使用
在中加入如下两个配置:2. hive支持的类型data type文档 (1)创建本地测试文件test.txt (2)创建测试表test字段解释: (3)导入文本数据到测试表 (4)访问三种集合列里的数据,(ARRAY,MAP,STRUCT的访问方式)...原创 2022-06-29 16:14:44 · 419 阅读 · 0 评论 -
hive 查看在hive中输入的所有历史命令
查看在hive中输入的所有历史命令:(1)进入到当前用户的根目录(2)查看. hivehistory文件原创 2022-06-29 11:18:41 · 68298 阅读 · 0 评论 -
Hive 窗口函数(开窗函数) over
文章目录OVER函数1.含义:2.示例:OVER函数1.含义:窗口函数主要解决 分析整体数据时,多个数据和一个结果对应,为每一条数据开启指定行范围的窗口;over() 指定 分析函数 工作时的数据窗口大小,这个窗口大小可能会随行的改变而改变;用于between … and … 表示范围概念:CURRENT ROW:当前行n PRECEDING:往前n行数据n FOLLOWING:往后n行数据UNBOUNDED:起点,UNBOUNDED PRECEDING 表示从前面的起点,UNBOUN原创 2021-09-16 06:57:31 · 67478 阅读 · 0 评论 -
Hive 分支判断 case函数 if函数
文章目录CASE函数1.含义:2.示例:IF函数1.含义:2.示例:CASE函数1.含义:CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END当a = b,返回 c; 当 a = d, 返回 e; 否则 返回 f2.示例:emp_sex 表数据:需求求出不同部门男女各多少人。结果如下:select dept_id, sum(case sex when '男' then 1 else 0 end) male_count, s原创 2021-09-15 16:18:59 · 47467 阅读 · 0 评论 -
hive 多维分析 GROUPING SETS
GROUPING SETS1.含义:GROUPING SETS 允许在一个数据结果集中包含多个 GROUP BY 结果集,即进行多维分析。 GROUPING SET 可由 UNION 连接的几个 GROUP BY 查询表达2.示例:testgrouping 表数据:select deptno,sex,count(id) from testgrouping group by deptno,sex grouping sets (deptno,sex,(deptno,sex));统计 每个部门原创 2021-09-15 14:44:21 · 47280 阅读 · 0 评论