
hive
魂落忘川犹在川
无端坠入红尘梦,惹却三千烦恼丝。
展开
-
hive的limit失效问题
问题语句 select app_name,count(1) as cnt from ( select name,seq_id from tmp.data_20220418 group by name ,seq_id ) a group by app_name limit 10; 当我在spark去运行这个语句时加不加limit 结果是一致的 但是当我用beeline去运行时, 加limit 结果只有一行错误数据, 不加limit 才能跑出正常结果 排查过程 把limit相关参数原创 2022-04-29 16:42:02 · 2925 阅读 · 0 评论 -
hiveSQL计算连续值
原始测试数据准备 name seq_num a 1 a 2 b 4 b 5 c 1 c 3 c 4 创建测试表 create table if not exists tmp.rows_preced_test_20210526 ( name string comment '用户名' ,seq_num int comment '使用产品编码' )partitioned by (pt string comment 'YYMMDD数据入库时间') ROW FOR.原创 2021-10-13 17:02:42 · 459 阅读 · 0 评论 -
查看hive表(分区)大小,支持多写法
针对hive内表,经常要查看表大小后分区路径设置的脚本 #!/bin/bash . /etc/profile . ~/.bash_profile . ~/.bashrc # 参数 "tmp" "tmp_20200808" "201909" if [[ $# = 3 ]];then database=$1 table_name=$2 hadoop fs -du -h /user/hive/warehouse/${database}".db"/${table_name} |grep .原创 2021-09-18 10:12:55 · 2139 阅读 · 0 评论 -
查看hive库下那些表是视图
多人用同一个数据库,有人表名命名不规范导致视图和表无法分离开来,当想查看那些是表,那些是视图时,遇到了问题。网上有提供show views;命令,但是在当前的hive版本中正本不支持 主要问题在于两点 grep 做过滤默认为模糊匹配,需要添加 -w 参数 使用uniq -u 来过滤会有一部分隐藏文件和其它建的外表(已删除表)也会被输出 代码如下 #!/bin/bash . /etc/profile . ~/.bash_profile # 报错退出 error() { if [[ $?.原创 2021-03-29 16:39:52 · 1101 阅读 · 0 评论 -
hive 的regexp_extract与零宽断言使用
结论:零宽断言的括号不计算在regexp_extract 函数中 select regexp_extract(‘hehe: dog呵呵’,’(?>=hehe).*?([a-z]+)’,1)原创 2020-05-09 17:46:53 · 553 阅读 · 1 评论 -
五分钟学会hive中的行转列,列转行(UDAF和UDTF)以及concat,collect_set,concat_ws用法
准备数据: name constellation blood_type 小明 小熊座 R 小红 猎户座 XR 小白 猎户座 R 小蓝 小熊座 R 小绿 小熊座 R 行转列 创建表并导入数据 create table person_info( name string, constellation string, blood_type string) row fo...原创 2018-11-29 20:45:46 · 1615 阅读 · 2 评论 -
hive和HBase的比较
Hive 1、数据仓库 Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方便使用 HQL 去管理查询。 2、用于数据分析、清洗 Hive 适用于离线的数据分析和清洗,延迟较高。 3、基于HDFS,MapReduce Hive 存储的数据依旧在DataNode 上,编写的 HQL 语句终将是转换为MapReduce 代码执行。 HBase 1、数据库 ...原创 2018-12-03 20:52:42 · 293 阅读 · 0 评论 -
hivesql常用的几个函数
1、取字段a与b的商,结果保留两位小数 round(字段a/字段b,2) 2、将为null的字段变成0 nvl(字段c,0) 3、用于统计窗口内往上第n行值参数1为列名,参数2为往上第n行(可选,默认为1),参数3为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL) LAG(col,n,DEFAULT) 与LAG相反的是LEAD 此时n表示向下n行 LAG(col,n,DEFA...原创 2018-12-26 19:31:51 · 1061 阅读 · 0 评论