hive
hive
罗少说
这个作者很懒,什么都没留下…
展开
-
hive数据质量规范
hive数据质量规范原创 2023-11-14 23:52:19 · 817 阅读 · 0 评论 -
hive存储压缩格式对比说明
hive压缩说明原创 2023-07-04 14:02:55 · 1181 阅读 · 0 评论 -
hive实战使用文档(一)之hive on hbase知多少
hive实战使用文档,常用库表操作、hive on hbase建表方式、hive常用函数原创 2023-06-28 07:19:12 · 806 阅读 · 0 评论 -
开窗函数分享
开窗函数精要分析和对比原创 2023-06-26 10:12:04 · 262 阅读 · 0 评论 -
hive面试题(一)
hive面试题原创 2023-06-24 23:06:18 · 517 阅读 · 0 评论 -
hive库表常用命令及常用函数
hive库表常用命令及常用函数原创 2022-11-21 14:56:33 · 670 阅读 · 0 评论 -
hive sql系列(总结)
每天分享一个sql,帮助大家找到sql的快乐hive sql系列(总结)介绍hive sql系列主打sql,通过案例,从实现到分析,帮助大家找到写sql的快乐hive sql系列目录1. hive sql系列(一):找出所有科目成绩都大于某一学科平均成绩的学生2. hive sql系列(二):统计每个用户每个月访问量和累计月访问量3. hive sql系列(三):求所有用户和活跃用户的总数及平均年龄4. hive sql系列(四):请用sql写出所有用户中在今年10月份第一次购.原创 2021-04-17 23:59:17 · 2871 阅读 · 3 评论 -
hive sql系列(十)——实现每班前三名,分数一样并列, 同时求出前三名按名次排序的分差
每天分享一个sql,帮助大家找到sql的快乐需求编写sql语句实现每班前三名,分数一样并列,同时求出前三名按名次排序的分差建表语句create table student( sid string,--学号 cid string,--班级号 score string -- 分数)row format delimited fields terminated by '\t';数据insert overwrite table student valu.原创 2021-04-15 15:53:00 · 1508 阅读 · 1 评论 -
hive sql系列(九)——求11月9号下午14点(14-15点),访问/api/user/login接口的top10的ip地址
每天分享一个sql,帮助大家找到sql的快乐需求有一张表,其中一个字段是由时间、接口、ip和其他字段组成的求11月9号下午14点(14-15点),访问/api/user/login接口的top10的ip地址建表语句create table log( log_detail string)ROW format delimited FIELDS TERMINATED BY "\t";数据insert overwrite table log values("201.原创 2021-04-13 12:00:16 · 1563 阅读 · 3 评论 -
hive函数大全
! != $ELEM$ $KEY$ $VALUE$ $elem$ $key$ $sum0 $value$ % .原创 2021-04-08 17:43:42 · 935 阅读 · 0 评论 -
hive sql系列(八)——把 1234 转成 “原因1 原因2 原因3 原因4”
每天分享一个sql,帮助大家找到sql的快乐——鸣谢网友老蕉供稿需求需求:根据聚合在一起的编码转换成聚合在一起的码值一个字段是 “1,2,3,4” 这个1234分别代表原因1 原因2 原因3 原因4 现在要把 1234 办成 “原因1 原因2 原因3 原因4”建表语句create table wangyou1( codeStr string)row format delimited fields terminated by '\t';实现.原创 2021-04-06 16:35:20 · 1025 阅读 · 3 评论 -
hive sql系列(七)——查询前20%时间的订单信息
每天分享一个sql,帮助大家找到sql的快乐需求查询前20%时间的订单信息建表语句create table business( name string, orderdate string, cost int)row format delimited fields terminated by '\t';数据insert overwrite table business values("jack","2017-01-01",10),("tony.原创 2021-04-01 21:23:58 · 4735 阅读 · 5 评论 -
hive sql系列(六)——每个用户连续登录最大天数
每天分享一个sql,帮助大家找到sql的快乐需求每个用户连续登录最大天数建表语句create table login( id string, rq string)row format delimited fields terminated by '\t';数据#这里将数据分开,便于直观看到连续登录天数insert into table login values(1,"2019-07-26"),(1,"2019-07-27"),(1,"2019.原创 2021-03-31 23:11:42 · 2627 阅读 · 1 评论 -
hive sql系列(五)——按照时间轴顺序, 发生了状态变化的数据行
每天分享一个sql,帮助大家找到sql的快乐需求一个日志表中记录了某个商户费率变化状态的所有信息,现在有个需求,要取出按照时间轴顺序,发生了状态变化的数据行;建表语句create table shop( id string, rate string, rq date);数据insert into shop values(100,0.1,'2021-03-02'),(100,0.1,'2021-02-02'),(100,0.2,'2021-.原创 2021-03-30 22:35:24 · 1490 阅读 · 0 评论 -
hive sql系列(四)——所有用户中在今年10月份第一次购买商品的金额
每天分享一个sql,帮助大家找到sql的快乐需求请用sql写出所有用户中在今年10月份第一次购买商品的金额,表order字段:(购买用户:userid,金额:money,购买时间:paymenttime(格式:2017-10-01),订单id:orderid建表语句create table `order`( userid string, money int, paymenttime string, orderid string)ROW format .原创 2021-03-30 11:51:14 · 1170 阅读 · 4 评论 -
hive sql系列(三)——求所有用户和活跃用户的总数及平均年龄
每天分享一个sql,帮助大家找到sql的快乐需求:求所有用户和活跃用户的总数及平均年龄建表语句create table user_age( dt string, user_id string, age int)row format delimited fields terminated by '\t';数据insert overwrite table user_age values("2019-02-11","test_1","23"),("20.原创 2021-03-29 21:47:46 · 3569 阅读 · 3 评论 -
hive sql系列(二)——统计每个人每个月访问量和累计月访问量
每天分享一个sql,帮助大家找到sql的快乐需求:统计每个月访问量和累计月访问量建表语句CREATE TABLE visit( userId string, visitDate string, visitCount INT)ROW format delimited FIELDS TERMINATED BY "\t";数据INSERT INTO TABLE visit VALUES( 'u01', '2017/1/21', 5 ),( 'u0...原创 2021-03-28 18:27:18 · 4812 阅读 · 5 评论 -
hive sql系列(一)——找出所有科目成绩都大于某一学科平均成绩的学生
每天分享一个sql,帮助大家找到sql的快乐需求一:找出所有科目成绩都大于某一学科平均成绩的学生建表语句create table score( uid string, subject_id string, score int)row format delimited fields terminated by '\t';数据insert overwrite table score values("1001","01",100),("1001","0.原创 2021-03-26 13:09:23 · 4570 阅读 · 7 评论 -
大数据之hive——元数据初始化
元数据初始化命令:schematool -dbType mysql -initSchema控制台日志SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/home/sweet/software/apache-hive-2.3.6-bin/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.cla原创 2021-03-03 17:44:39 · 8363 阅读 · 14 评论 -
hive添加字段
hive (test)> alter table lx add columns(id string);OKTime taken: 0.25 secondshive (test)> alter table lx add columns(name string,xb string);OKTime taken: 0.197 seconds原创 2021-02-24 17:06:27 · 1059 阅读 · 0 评论 -
hive之udf函数开发
接上一篇hive开发之maven手动安装jar包,点击可跳转添加pom依赖,说明version要与环境一致,不然可能会因为版本不一致问题报错 <dependencies> <!--添加Hadoop依赖--> <dependency> <groupId>org.apache.hadoop</groupId > <artifactId>hadoo原创 2021-02-22 11:44:38 · 928 阅读 · 0 评论 -
hive开发之maven手动安装jar包
开发hive udf函数时,添加hive-exec依赖,包不能引入,由于将maven镜像改为阿里镜像,hive-exec-1.2.1.jar找不到,导致pom文件报错于是去maven中央仓库检索,搜索结果如下下载jar包如何安装jar包呢?1、如果配置了maven环境变量,可以在dos窗口中任意路径执行,如果没有,则需要进入maven文件下bin目录下进入dos窗口,我这里就是这样进入的2、参数说明-DgroupId:所属组-DartifactId:名称-..原创 2021-02-22 11:18:24 · 1205 阅读 · 0 评论 -
hive与mysql对比之max、group by、日志分析
前期准备mysql模型:test_max_date(id int,name varchar(255),num int,date date)hive模型:create table test_date_max(id int,name string,rq Date);insert into table test_date_max values(1,"1","2020-12-25"),(2,"1","2020-12-28"),(3,"2","2020-12-25"),(4,"2","2.原创 2021-02-04 13:16:52 · 2374 阅读 · 0 评论 -
hive中浮点型数据计算精度丢失
举例:无限小数保留几位说明:hive中round函数用于保留小数位,最后一位四舍五入结果:double类型计算结果精度丢失原因:round函数返回值是保留几位小数的double类型,虽然是保留几位,但浮点型的长度还在,所以二次计算时就会发生精度丢失解决办法:将round函数返回值强转成decimal扩展:hive函数值返回值是浮点型的,发生精度丢失时,可以采取类似办法测试过程如下:...原创 2021-01-25 10:28:13 · 4144 阅读 · 0 评论 -
hive中如何实现13位时间戳转毫秒时间类型
正确执行sql如下:select concat(t,".",substring(1611231717343,11,13))from(select from_unixtime(cast(substring(1611231717343,0,10) as bigint),'yyyy-MM-dd HH:dd:ss') as t)tmp;执行结果如下:扩展:如果想转换成"yyyy-MM-dd HH:dd:ss",需要将13位时间戳转换成11位时间戳,注意转换过程中函数入参数据类型原创 2021-01-22 16:28:57 · 4150 阅读 · 1 评论 -
大数据Hive之group by、count、over
group by和count在Hive与mysql用法基本一致,今天说一下group by、count组合用法在hive中的需要注意的地方,以及实现一个功能的sql写法目标:统计表中id和总条数模型:tab(id string)输出:id、count(*)需求1:输出表中总记录数select count(*) from tab;需求2:输出表中id,总条数select id,count(*) from tab;这样计算就会报错解决方式两...原创 2021-01-05 15:37:46 · 2421 阅读 · 0 评论 -
hive——lag函数使用
环境hive2.x主要内容lag函数应用场景对某个字段排序,对排序后的结果计算相邻行的差值模型diff_age(id string,age int)("1",10)("2",30)("3",100)中间过程测试#求相邻id年龄插值selectid,age,lag(age,1,0) over(order by age) as syhfrom diff_age;-- 结果是全部是Nullselectid,age,l.原创 2020-12-15 15:32:15 · 14820 阅读 · 1 评论 -
hive之over开窗中的统计count与group by用法
话不多说,看代码需求是:分组统计传统分组统计sql,在Mysql和hive中是通用的模型create table tab(id string,part string)统计每个part有多少个id先说一下标准写法select count(*)from tabgroup by part;下面看一下over开窗写法和问题写法一:select part, count(*) over(partition by part)from ...原创 2020-11-09 11:11:35 · 2659 阅读 · 1 评论 -
hive之拉链表实现过程及剖析
1、创建拉链表create external if exists dwd_user_info( `id` string COMMENT '用户id', `name` string COMMENT '姓名', `start_date` string COMMENT '开始日期', `end_date` string COMMENT '结束日期')COMMENT '用户信息拉链表'2、初始化拉链表(导入2020-11-08数据)insert overwrite tabl...原创 2020-11-09 00:17:38 · 3264 阅读 · 0 评论 -
hive逻辑运算符中的坑——or、and
逻辑计算where a != "" or a is not null and b != "6"查询结果284where (a != "" or a is not null) and b != "6"查询结果219原创 2020-11-06 17:56:42 · 1952 阅读 · 1 评论 -
hive、mysql中case when 出现null值
记录一次实战:在hive计算年龄时,case when转换出现了null值case when 转换出现了null值的原因就是没有匹配上,实际上case when 是一个函数,是一个udf函数,一进一出,除了Null时是没有给定默认值,有时给了else ,也会出现 else值其他以外的情况,给后来人提醒,如果出现这种问题,一定要检查当前case when from的表,再就是子查询情况和写入并不对等,基本出现这种情况就是类型异常...原创 2020-11-06 17:09:34 · 2772 阅读 · 0 评论 -
hive完整建表语句
这个正确CREATE EXTERNAL TABLE IF NOT EXISTS `test`.`test_create`( id int COMMENT 'id', name string COMMENT '姓名')COMMENT '测试创建'PARTITIONED BY (`rq` date COMMENT '分区字段')ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';下面这个不正确CREATE EXTERNAL T...原创 2020-10-30 18:03:29 · 2365 阅读 · 0 评论 -
hive如何精确计算年龄
ps:本文是用出生日期,如果是取身份证号的,只需该select id, name, case when id < "2" then "1匹配上" end as resfrom tab;隐士转换 int类型id在计算时比较"2" string类型的"2"转换成int类型的2select id, name, case when id = 2 then "1匹配上" else "原创 2020-10-27 14:24:32 · 4247 阅读 · 0 评论 -
hadoop文件路径权限修改——chown
修改hdfs路径的文件路径所属用户权限时,报错,提示org.apache.hadoop.security.AccessControlException: Non-super user cannot change owner.意思是说当前用户执行修改用户权限时,不是超级用户,不能执行在hadoop中root用户不是最高权限用户切换hdfs用户,再次执行命令hadoop dfs -chown -R admin /apps/hive这里是修改文件夹, 加了-R ,如果是文件则不需要..原创 2020-07-24 17:09:35 · 5369 阅读 · 0 评论 -
修改hive计算引擎
修改hive计算引擎进入hive客户端设置mapreduce引擎set hive.execution.engine=mr;设置tez引擎set hive.execution.engine=tez;设置spark引擎set hive.execution.engine=spark;原创 2020-07-24 16:56:12 · 1245 阅读 · 0 评论 -
mysql语句实现hive开窗效果
建表语句create table t{ id varchar(20), dates varchar(20), v_num int}charset=utf8;插入多行数据insert into t values("a","2020-01",5),("b","2020-01",20"),`````````("a","2020-05",25),("b","...原创 2020-05-04 11:26:40 · 399 阅读 · 0 评论 -
spark复习笔记(二)——spark sql
Spark SQL特点1、易整合整合SQL查询和Spark编程2、统一的数据访问方式使用相同方式连接不同的数据源3、继承Hive在已有的仓库上直接运行SQL或者HQL4、标准的连接方式通过JDBC或者ODBCDataFrame分布式数据容器schema 数据的结构信息(类似于desc table)支持嵌套数据类型 struct array map从API易用性,Dat...原创 2020-04-20 10:03:34 · 410 阅读 · 0 评论 -
hive join、spark join 、flink join
hive里面map join优化小表数据-> HashtableFiles-> Distributed Cache->遍历匹配离线Batch SQL Join三种方式Nested-loop Join 内嵌遍历的方式Sort-Merge Join 归并排序 要求是有序数据集Hash Join 将一个数据集转换为Hash Table,再进行遍历匹配实时Streamin...原创 2020-04-20 09:58:00 · 462 阅读 · 0 评论 -
数仓架构、企业级数仓流程、数仓实践
数据仓库的架构:星型模型和雪花模型架构星型模型是确定了一个事实表和多个维度表雪花模型是:事实表两边的维度表可以再有子表,主要是表达清洗的维度层次关系(例如地区维度省市,品类维度一级品类二级品类)构建企业级数据仓库的流程:1、确定主题确定数据分析或前端展现的主题2、确定量度技术指标的统计值,例如数据汇总的最大值最小值,年销售额等3、确定粒度量度的聚合程度,一...原创 2020-04-20 09:53:39 · 400 阅读 · 0 评论 -
Spark SQL运行原理解析
Spark SQL和mysql、hivesql从SQL规范来说都一样引擎:sparksql底层执行是spark,执行效率高,分布式mysql底层执行是InnoDB,当然还有其他的引擎,单节点执行hivesql底层执行默认是mapreduce,也可以更换为执行速度更快的tez,分布式对于sql语句来说,都是共同的例:select id ,name,age from stude...原创 2020-04-20 09:29:19 · 1019 阅读 · 0 评论