
hive
PONY LEE
运动不息,生命不止!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hive 谓词下推实例分析(on与where的区别)
是否应用谓词下推,最后产生的结果往往不同,这里需要特别注意。原创 2023-09-06 18:02:13 · 476 阅读 · 0 评论 -
自定义hive国密3-SM3非对称加密函数
【代码】自定义hive国密3-SM3非对称加密函数。原创 2023-07-13 15:08:51 · 1005 阅读 · 0 评论 -
hive anti用法
a left anti join b :在查询过程中,剔除a表中和b表有交集的部分。原创 2023-07-12 17:34:48 · 1371 阅读 · 0 评论 -
hive自增字段维护
hive生成自增ID,分为全量数据和增量数据两种情况。原创 2023-04-12 15:47:44 · 252 阅读 · 0 评论 -
Hive SQL时间函数及用法
函数: last_day(string date)返回值:string返回该日期所属的月份的最后一天(截至Hive 1.1.0)。date为字符串,格式为“yyyy-MM-dd HH:mm:ss”或“yyyy-MM-dd”。日期的时间部分被忽略。原创 2022-08-29 16:10:37 · 7432 阅读 · 0 评论 -
hive优化参数配置
hive优化参数配置原创 2022-06-14 14:01:25 · 702 阅读 · 0 评论 -
hive多维分析
hive 多维分析原创 2022-06-14 13:55:07 · 558 阅读 · 0 评论 -
hive调优
hive调优原创 2022-06-14 13:41:17 · 387 阅读 · 0 评论 -
hive窗口函数使用详解
ntile用于将分组数据按照顺序切分成n片,返回当前记录所在的切片值。经常用来取前30% 带有百分之多少比例的记录什么的注意:NTILE不支持ROWS BETWEEN,比如 NTILE(2) OVER(PARTITION BY id ORDER BY mod_date ROWS BETWEEN 3 PRECEDING AND CURRENT ROW)实例:select *,ntile(3) over(partition by id order by mod_date) from t041原创 2022-04-12 11:15:14 · 1767 阅读 · 0 评论 -
hive窗口之分组范围内计算
需求需求描述注意: 对于同一id在同一时间点只有一次修改需求分析需要分组排序需要分组之内列转行集合根据新批次号、分组排序结果、原批次号和新批次号进行计算(自定义GenericUDF函数)demo 样例生成数据DDL:create table t0411(id bigint,mod_date string,src string,cur string)插入数据: insert into t0411 values (1,'2022-01-08','b1','原创 2022-04-11 20:54:23 · 974 阅读 · 0 评论 -
解决hive元数据库乱码问题
有两种方案,方案一可以一次性永久解决乱码问题;如果只针对当前数据库,推荐使用方案二,不会影响其他库。解决方案一:1、查看字符集:MySQL [hive]> use hive;MySQL [hive]> show variables like 'char%';+--------------------------+----------------------------+| Variable_name | Value |原创 2021-04-15 17:42:11 · 2763 阅读 · 2 评论 -
hive日期函数总结
参考:hive获取月份_【Hive】Hive中常用日期函数整理原创 2022-02-22 17:07:33 · 905 阅读 · 0 评论 -
hive压缩
Hadoop压缩数据流程hadoop中有三个阶段可以用到压缩,分别是Map,Shuffle和Reduce,其中Map阶段首先对输入的数据进行压缩,然后在Map的job中进行解压并对数据进行业务处理,将结果写入磁盘的时候进行数据的压缩,Shuffle的过程中将磁盘中压缩的文件内容读取出来,然后传递给Reduce,Reduce中对数据再进行解压并做业务处理,整个过程都计算完毕后再用压缩对输出进行压缩。其数据流程可以用下面的流程表示:压缩的输入文件->(解压数据)->Maps->压缩输原创 2022-02-22 10:29:01 · 2798 阅读 · 0 评论 -
hive小文件调优实践
hive distribute by分组应用调优以表中字段分组set hive.auto.convert.join=true;set hive.auto.convert.join.noconditionaltask=true;set hive.auto.convert.join.noconditionaltask.size=10000000;set hive.mapjoin.smalltable.filesize=200000000;set hive.merge.mapfiles = true原创 2022-02-17 22:27:28 · 2537 阅读 · 0 评论 -
hive map数量控制
新旧版本map数量获取区别:Hadoop旧版中InputSplit的个数由下面三个参数决定:goalSize:totalSize/numSpilt.totalSize为文件大小,numSplit为用户设定的map task个数,默认为1.minSize:InputSplit的最小值,由配置参数 mapred.min.split.size,默认为1.blockSize:HDFS中块的大小.splitSize = max(minSize,min(goalSize,blockSIze))新版原创 2022-02-14 17:14:14 · 1312 阅读 · 0 评论 -
hive复杂数据类型GenericUDF编写
引入依赖<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>3.0.0</version></dependency>自定义函数/** * @author ljj * @date 2022/01/10 * 函数用途:返回指定时间段内的工作日时长 */pu原创 2022-01-11 13:40:35 · 1400 阅读 · 0 评论 -
hive调优
优化的根本思想:尽早尽量过滤数据,减少每个阶段的数据量;减少job数;解决数据倾斜问题。1、尽早尽量过滤数据,减少每个阶段的数据量 1)列裁剪 只读取查询逻辑中真实需要的列 2)分区裁剪 在查询的过程中减少不必要的分区 Select count(orderid) From order_tablewhere to_date(sale_time)='2014-03-03' and hour(to_date(sale_time))=10原创 2021-12-31 18:16:21 · 861 阅读 · 0 评论 -
ambari hadoop集群权限和事务的问题
1、org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=EXECUTEspark 建表或者使用hive的jdbc driver的时候出现问题:解决:关闭Hdfs的安全检查(permission checking):将hdfs-xml中 dfs.permissions 属性的值设置为 false 。但是这种方法的弊端是会导致Hdfs系统中所有的安全特性都被禁用,使Hdfs的安全性降原创 2021-12-29 14:39:47 · 1483 阅读 · 0 评论 -
Hive生成超级日期维度表
创建日期维表drop table dim.dim_datetime;--CREATE EXTERNAL TABLE IF NOT EXISTS dim.dim_datetime(CREATE TABLE IF NOT EXISTS dim.dim_datetime( `datetimestr` STRING COMMENT '当前时间(yyyy-MM-dd HH:mm:ss)' --,`yearstr` BIGINT COMMENT '当前年份' ,`quar原创 2021-12-28 22:39:14 · 3127 阅读 · 0 评论 -
指定格式导出hive数据
语法格式beeline -n username -p password \-u jdbc:hive2://hadoop01:10000/cdm \--verbose=true \--showHeader=false \--outputformat=tsv2 \--color=true \-e "select * from ${database}.${tablename}" > ${tableName}.csv或者beeline -n username -p password原创 2021-12-24 11:12:47 · 1499 阅读 · 0 评论 -
Hive时间函数时区问题(坑)
hive的时间函数取得当前日期select current_date();取得当前日期时间select current_timestamp();取得当前时间select from_unixtime(unix_timestamp(),‘yyyy-MM-dd HH:mm:ss’);获取的是HiveService所在操作系统RTC(时钟芯片)时间,如下实例1:实例2:...原创 2021-12-23 11:13:52 · 7505 阅读 · 0 评论 -
Shell脚本循环拼接SQL执行示例
#!/bin/bash#******************************************************************************#所属主题: 支付主题域#功能描述: 每月更新全量视图,每月运行,传入参数第一开始年月,第二结束年月,例如[202103,202111]#创建者 : #创建日期: 2021-11-22#修改日期: #修改人:#修改内容:#**********************************************原创 2021-11-22 20:36:39 · 3003 阅读 · 0 评论 -
通过count(*)和 count(1)统计hive表中数据数量为0
临时生效(当前session)进入hive shell,输入set hive.compute.query.using.stats=false,然后运行下查询语句,发现正常。全局生效对应Ambari中Hive组件的配置参数:修改后可能对查询性能稍微有点影响原创 2021-11-18 18:49:20 · 1368 阅读 · 0 评论