草庐IT

一百八十八、Hive——HiveSQL查询表中的日期是星期几(亲测,附截图)

一、目的指标需要查询以工作日和周末维度的数据统计,因此需要根据数据的日期判断这一天属于星期几,周一到周五为工作日,周六到周日为周末二、SQL查询(一)SQL语句selectday,casewhenpmod(datediff(create_time,'2023-05-02')+1,7)=1then'周一'whenpmod(datediff(create_time,'2023-05-02')+1,7)=2then'周二'whenpmod(datediff(create_time,'2023-05-02')+1,7)=3then'周三'whenpmod(datediff(create_time,'2

Hive On Spark 概述、安装配置、计算引擎更换、应用、异常解决

文章目录Hadoop安装Hive安装HiveOnSpark与SparkOnHive区别HiveOnSparkSparkOnHive部署HiveOnSpark查询Hive对应的Spark版本号下载Spark解压Spark配置环境变量指定Hadoop路径在Hive配置Spark参数上传Jar包并更换引擎测试HiveOnSparkYarn资源分配设置解决依赖冲突问题重编译源码前言:本篇文章在已经安装Hadoop3.3.4与Hive3.1.3版本的基础上进行,与笔者版本不一致也没有关系,按照步骤来就行了。如果你不想使用低版本的Spark(例如:Spark2.x系列),请直接跳转到本文目录【重编译源码】

【Spark数仓项目】需求八:MySQL的DataX全量导入和增量导入Hive

【Spark数仓项目】需求八:MySQL的DataX全量导入和增量导入Hive文章目录一、mysql全量导入hive[分区表]需求介绍:二、mysql增量导入hive1.增量导入的第一种实现方法2.另一种方法是时间字段3.dataX脚本三、利用Python自动生成Datax的json脚本1.创建mysql和hive数据库2.修改python脚本里面的密码(2处)和hdfs端口3.运行python脚本4.将生成的json文件上传到linux5.编写shell脚本b.sh6.运行shell一、mysql全量导入hive[分区表]需求介绍:本需求将模拟从MySQL中向Hive数仓中导入数据,数据以时

【hive 】时间差(天、小时、分、秒)和常用时间格式转

unix_timestamp()是hive系统时间,格式是timestamp,精确到秒。unix_timestamp(ymdhms)是把时间转换成timestamp格式,是2018-05-2307:15:50格式。unix_timestamp()-unix_timestamp(ymdhms)是两个时间转换为timestamp之后相减,timestamp单位是秒,相减之后是两个时间之间相差的秒数。CAST((unix_timestamp()-unix_timestamp(ymdhms))%60ASint)是相差的秒数。CAST((unix_timestamp()-unix_timestamp(y

Hive insert插入数据与with子查询

1.insertinto与insertoverwrite区别insertinto与insertoverwrite都可以向hive表中插入数据,但是insertinto直接追加到表中数据的尾部,而insertoverwrite会重写数据,既先进行删除,再写入注意:如果存在分区的情况,insertoverwrite只重写当前分区数据,不会全部重写2.insert与withas子查询一起使用当在hive中同时使用insertinto(overwrite)tablexx与with子查询时候,需要将insert放在withas子查询后面(区分:与StarRocks不同,insert放在withas子查询

HIVE 中INSERT INTO 和 INSERT OVERWRITE 的区别,以及OVERWRITE哪些隐藏的坑

HIVE中INSERTINTO和INSERTOVERWRITE的区别,以及overwrite在分区表和非分区表中使用时的注意事项。概要1.hive中insertinto和insetoverwrite的区别2.hive中overwrite在分区表和非分区表中使用时的注意事项insertinto和insertoverwrite我们都知道在hive中insertinto是表数据进行追加的,insertoverwrite可以对数据进行覆盖,那么overwrite在使用过程中有没有什么坑呢?下面我们通过实战来直观的展示出两个的区别,以及overwrite使用过程中隐藏的坑。我们准备两张表一张表为dms.

Hive学习——开窗函数精讲

目录一、基于行的窗口函数——行的起点~行的终点二、基于值的窗口函数——值的起点~值的终点三、基于分区的窗口函数四、基于缺省的窗口函数五、lead与lag六、first_value和last_value七、排名函数——rank(113)、dense_rank(112)、row_number(123)八、NTILE分桶九、窗口函数练习题(一)练习一1.统计每个用户截至每次下单的累积下单总额2.统计每个用户截至每次下单的当月累积下单总额3.统计每个用户每次下单距离上次下单相隔的天数(首次下单按0天算)4.查询所有下单记录以及每个用户的每个下单记录所在月份的首/末次下单日期5.为每个用户的所有下单记录

大数据开发之Hive案例篇9-Not yet supported place for UDAF ‘count‘

文章目录一.问题描述二.解决方案一.问题描述一个很简单的groupby和count(*)操作,然后居然报错了hive>SELECTcol1,>count(*)ascnt>fromtable_name>groupbycol1>orderbycount(*)desc>;FAILED:SemanticException[Error10128]:Line5:9NotyetsupportedplaceforUDAF'count'hive>二.解决方案大概是在OracleMySQL上写SQL写习惯了,以为可以这么写。出了问题也是不知道从何排查后面把orderby子句注释掉之后,居然就可以了,那么就是ord

解决一些hive中的一些错误和解决方式

报错【Hive启动】_Exceptioninthread“main“java.lang.NoSuchMethodError: 1.触发报错   1. hive启动   2. 初始化元数据库(derby)  bin/schematool-dbTypederby-initSchema2.报错信息    Exceptioninthread"main"java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V3.解决  had

Hive运行任务报错:Ended Job = job_1685266933359_0001 with errors Error during job, obtaining debugging info

sql运行保存:EndedJob=job_1685266933359_0001witherrorsErrorduringjob,obtainingdebugginginformation...原因是namenode内存空间不够,jvm不够新job启动导致。解决方法:hive设置成本地模式来执行任务试试:sethive.exec.mode.local.auto=true;本地模式本地模式,特点是:hive服务和metastore服务运行在同一个进程中,mysql是单独的进程,可以在同一台机器上,也可以在远程机器上。远程模式远程模式,特点是:hive服务和metastore在不同的进程内,可能是不