自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 Hive某字段空值用同组该字段非空值填充

工作中遇到这样一个业务场景:系统中记录订单提报和订单审核通过两个时间点某业务状态,开发做标记时一个订单产生了两条记录,即提报时记录状态1字段,状态2字段为空;审核通过时产生新纪录记录状态2字段,状态1字段为空。分析其实想要的是一个订单对应一条记录:订单对应的状态1字段和状态2字段。计算出的结果,否则使用字段本身值。最后使用分组方法保留每组一条记录。窗口函数可以实现获取某字段当前行的同组中非空值的最后一个;函数判断字段是否为空,为空则使用。

2024-04-09 11:30:54 425

原创 Hive实现查询左表有右表没有的记录

工作中遇到这样一个场景,业务逻辑是:如果一个主体发生了某一问题,就不再统计该主体的其他问题。思路:首先想到的方法就是not in方法,但是Hive并不不支持。那么使用left join对两个表进行连接,右表主键为空的说明是右表不存在坐标存在。

2024-03-15 13:50:46 585

原创 Hive sql实现分组后对组内字符串拼接

工作中遇到一个需求,系统中针对一辆车会填报多个问题,在统计时希望展示一辆车一行记录,所有问题描述汇总在一个字段展示。

2024-02-01 15:36:42 485

原创 Hive分组剔除每组某些记录

中介绍了分组取满足条件的第一条记录的方法,现在业务上面临如此需求:在做公司流程监控时,要求监控每个流程每个节点的用时情况。其中有个字段isend可以判断流程是否结束,但是流程结束后可能还会有操作(例如转发、会签等),分析时需要将结束后的节点删除掉。思路:根据流程ID分组,按照操作时间从小到大排序,得到字段rk,根据流程ID和isend分组,按照操作时间从小到大排序,得到字段rk_。rk_=1说明是流程开始节点或者第一个结束节点,如果rk

2024-01-10 19:00:46 663

原创 Notepad++批量添加引号

工作中经常会遇到这样情景:业务给到一批订单号,需要查询这批订单的某些字段信息。在where条件中需要传入这些订单号的数组,并且订单号用引号引起,用引号隔开。

2023-11-29 14:07:55 2135 1

原创 Hive删除符合条件的记录

思路:使用select+where选出想要保留的数据,使用insert overwrite向原表覆盖插入数据.操作,那么如果想删除部分条件的记录需要怎么操作?本文记录下解决方法。Hive在使用中不支持。

2023-11-24 10:43:00 1042

原创 sql server修改表结构及字段数据类型

SQL对现有表修改表结构(增加或删除字段,修改字段名)或修改字段类型一般使用alter关键字。sql server处理语法与其他SQL语句稍有不同。

2023-11-21 15:28:29 2844

原创 Hive效率优化记录

Hive是工作中常用的数据仓库工具,提供存储在HDFS文件系统,将结构化数据映射为一张张表以及提供查询和分析功能。Hive可以存储大规模数据,但是在运行效率上不如传统数据库,这时需要懂得常见场景下提升存储或查询效率的方法,本文记录工作中常见的情形。

2023-11-18 11:09:55 637

原创 SQL对数据进行去重

工作中使用SQL对数据进行处理计算时可能会遇到这样的问题;读取的表数据会有重复,或者我们关注的几个字段的数据会有重复,直接使用原表数据会引起计算结果不准或者做表连接时产生笛卡尔积。本文记录使用SQL进行数据去重的几种算法。

2023-11-13 19:00:11 833

原创 Hive建表语法和参数记录

Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射到HDFS存储(建表对应在HDFS建了一个文件夹),并提供类SQL查询语言-HiveQL,Hive可以将HQL语句转换为MR任务执行。本文记录Hive建表的常用语法和参数。

2023-11-04 14:02:30 316

原创 Hive创建分区表并插入数据

静态分区在插入数据时要指定分区名,支持load、insert两种插入方式,主要用于分区少,分区名可以确定的情况。

2023-10-28 16:56:08 2178

原创 SQL实现自定义排序

业务事实上,经常会遇到排序问题,对数值类型字段排序不会有很大争议,但是有时希望对字符型字段按要求进行排序。本文记录自定义排序的几种方法。

2023-10-17 16:53:59 876

原创 Hive剔除某时间段进行时间点判断

业务中,遇到这样一个需求:需要判断在前一个节点业务操作后(取前一节点的操作时间),判断后一节点操作是否在3个小时内完成,其中晚上17:00到第二天早上8:00不纳入计算范围。函数判断小时+3是否在17:00到第二天早上8:00范围。如果在,后一节点时间-前一节点时间-13进行判断,如果不在用后一节点时间-前一节点时间进行判断。思路:首先判断前一节点操作时间是否临近剔除范围,即使用。

2023-10-16 13:30:07 218

原创 sql server建表时给表和字段添加注释

在数据开发过程中,我们建的每张表最好添加表和字段的注释,这样有助于其他人理解表的用处和字段的含义。在sql server建表时不可以直接使用comment关键字指定注释,记录可以添加注释的方法。

2023-09-28 15:23:08 3447 1

原创 SQL常用表操作

工作中作为数据开发人员经常会遇到针对表或表中数据进行操作、修改的情景。本文记录不同数据库的一些常见操作场景,方便使用时快速检索查询。

2023-09-26 10:45:11 82

原创 SQL两列转多行_根据状态的开始时间和结束时间生成每月的状态表

工作中,遇到这样一个需求:有一张产品状态表,记录每个产品的停用或启用状态以及状态发生变化的时间,需要统计每个月有多少在启用产品。首先,根据状态变化的时间生成每个产品每个状态对应的开始时间和结束时间。再根据产品启用和停用的时间间隔生成每月状态信息。

2023-09-23 13:30:05 44

原创 Hive中explode和lateral view函数使用

UDF:用户自定义标量函数(User Defined Function),使用场景是一进一出(一个数据项一个输出项)。UDAF:用户自定义聚合函数(User Defined Aggregation Function),使用场景是多进一出(多个数据项返回一个结果),常见的是聚合函数UDTF:用户自定义表格函数(User Defined Table Function),使用场景是一进多出(一个输入项转换为多个输出项),lateral和view explode可以实现类似效果。

2023-09-23 09:19:18 195

原创 Anaconda创建并管理Python虚拟环境

在使用Python进行一些开发或分析工作时,需要安装并使用大神们写的一些程序包。有的程序包只支持32位Python环境,有的支持64位Python环境;有的包支持最新版本,有的可能只支持以前版本(3.6或2.x),而且不同包之间还有版本依赖性。使用Anaconda可以创建多个不同版本的Python虚拟环境,在不同环境下可以下载不同的包进行管理,安装时就不易产生混乱了。

2023-09-15 13:26:24 140

原创 Python连接Gbase数据库

在数据清洗和计算方面,Python比SQL的灵活性更强,本文记录使用Python读取Gbase数据库中的数据。

2023-08-11 17:19:38 535

原创 SQL建立日期维度表

工作中一些项目,特别是系统或看板开发过程中,因为要保证日期在特定区间可能需要建立一张日期维度表,每天取过去某个日期到当天的日期。

2023-08-05 08:52:25 385

原创 SQL按照数值列从小到大排序并判断是否在前60%

工作中遇到这样一个需求:在明细表中按分组字段分组对数值字段求和并从大到小排序,判断每一组是否站在总数的前60%。先分组求和并按聚合结果降序排序,对结果使用子查询和窗口函数进行累加求和,前60%的记录累加值

2023-08-03 13:48:56 146

原创 Dbeaver连接Gbase数据库

Dbeaver默认是没有Gbase数据库驱动的,也就无法直接连接Gbase。当然Gbase有自己原装的数据库管理工具,但是不太好使用,而且不支持查询数据导出功能,要想连接Gbase到Dbeaver,需要在Dbeaver添加驱动。添加一个驱动文件,文件路径名在资源包下GBaseDataStudio_9.5.2.0_build11_Windows_x86_64/GBaseDataStudio/drivers。添加好服务器地址,端口号,用户名,密码最终就可以连接成功了。首先,打开数据库-驱动管理器。

2023-07-27 17:31:45 902

原创 SQL对分组聚合后的结果按照字符字段排序

实际业务中会遇到将数值按照某字段分组聚合后,取名为中文,那么想要按照我们需要的顺序排序,就会使用到case when将想排列到前的记录分组字段名取值为1。

2023-07-20 10:23:04 129

原创 SQL分组后取第一条记录

实际业务中经常会对数据进行分组,有时会面临分组后一个组内有多条记录,但是只要一条记录(一般是时间最近的记录或某字段取值最大或最小的记录)。本文记录下可以使用的方法。

2023-07-15 15:19:01 4681 1

原创 SQL分组统计把不存在的组计数为0

实际业务中遇到这样一个问题:在建立一张看板底表或者维度表时,统计了符合业务逻辑的明细数据,对记录按照某字段进行分组统计构建指标,但是个别指标在某几天可能会为0,反映在底表中是不存在这一指标的明细数据。业务上也需要构建这几个指标并将指标值标记为0,就需要在分组结果后加上这几个指标名称,并计算指标值为0。

2023-07-11 10:40:22 1471

原创 SQL计算次日留存率

实际业务中(特别是电商业务分析),需要计算今天用户登录,第二天还会登录的用户所占的比率,也就是次日留存率的概念。

2023-06-27 13:41:50 1862

原创 SQL计算截断平均值和移动平均值

在SQL实际数值计算中,可能会遇到计算计算某一列去掉最大值和最小值后的平均值(截断平均值)或者计算字段前m条记录和后n条记录的平均值。

2023-06-27 08:47:41 686

原创 SQL文本型字段处理

文本型字段处理包括字符串切割,拼接,替换,信息提取等,熟练使用一些常用函数有利于提升工作效率。

2023-06-21 17:09:53 153

原创 Excel公式应用

Excel是工作常用的工具,熟练使用Excel可以有效提升工作效率。本文记录工作中自己用到的一些公式应用,方便下次再遇到时快速检索。

2023-06-19 09:59:01 114

原创 Python日期格式处理

数据分析工作中,Python和SQL是常用的两大工具。常见的数据类型有数值型,字符串型,日期型等,对日期型格式进行处理也是比较常见的情形,文章记录了SQL针对日期型字段的处理过程,本文记录Python对日期型数据的处理。

2023-06-17 15:44:50 514

原创 selenium模拟浏览器操作

Selenium是一个用于Web应用程序测试的工具。Selenium主要用于自动化测试,测试直接运行在浏览器中,就像真正的用户在操作一样。同样,selenium可以模拟用户在浏览器的行为,利用网页定位获取网页信息。

2023-06-17 09:58:23 479

原创 SQL数值型字段处理

本文记录一些针对数值型字段常见的处理函数使用方法,方便在实际工作中检索使用。

2023-06-16 15:28:13 82

原创 每日订单增量表构建每日订单数量时间序列数据

在工作中遇到这样一个问题:从系统中抽取的订单表,包含每个订单车辆从提交、审核、设计、验证、生产、备车、出库、交付等节点的时间等信息。现在业务中遇到这样一个需求:构建一个接单、入库、交付三个节点每天的数量,生成一个数量随日期变化的趋势图。

2023-06-15 19:32:55 99

原创 xpth与BeautifulSoup实现网页解析

在网页内容中快速准确的定位需要的信息,可以使用正则表达式,但是正则表达式书写结构较为复杂,效率不高。可以使用一些选择器快速实现内容查找。

2023-06-15 16:05:27 181

原创 Python提取网页信息并保存

使用Python爬取网页内容时,获取网页源码文件后使用一系列解析方法提取我们需要的信息,对于提取到的信息怎么保存下来,本文提供常见的两种方法:保存到本地文件或MySQL数据库。

2023-06-15 10:15:03 1050

原创 利用Python加载不同来源的数据

因为Python具有丰富的数据处理和数据分析的库,处理数据的速度也较快,在工作中,会经常遇到将不同来源的数据(不管是csv,excel等表格数据或txt,json等文本数据甚至是数据库中的数据)使用Python读取到内存中进行数据处理或分析。针对不同来源的数据,Python提供了丰富的包和方法进行加载,本文记录Python加载常见的几种类型的数据的方法。

2023-06-14 17:33:03 292

原创 SQL中日期格式处理

实际工作,使用SQL语句对数据进行处理,有一大部分工作是对日期时间型数据进行处理,通过对字段的拼接或转换生成实际需要的格式的日期字段。本文章尽可能全面记录现在主流的数据库(MySQL和Hive)对日期格式的处理,形成一份工作速查文档,提升工作效率。

2023-06-13 20:47:11 9813 2

原创 MySQL8.0 zip版安装教程

下载好的zip文件解压到D盘的全英文路径下。例如:D:\Software\mysql-8.0.32-winx64。注意:basedir后面输入自己MySQL安装路径,datadir是相应安装路径下data文件夹。如上图,选择好相应的版本号和对应的操作系统,点击第一个文件下载。打开解下后的MySQL文件,新建一个文本文档,输入以下内容。首先去官网下载社区版压缩文件。新建一个MySQL路径。右键以管理员身份运行。

2023-06-08 13:17:46 465

原创 获取经纬度并计算距离

本文记录调用现有接口获取文本地点的经纬度信息,并计算各个地点之间的距离。

2023-05-23 19:19:31 100

原创 读取html文件并进行数据处理

实际工作中,我们常遇到提取信息在本地html文件的情况,本文介绍如何读取html文件并进行预处理提取文件中的信息。

2023-05-23 19:13:19 323

Gbase数据库管理工具及数据库驱动

Gbase数据库管理工具及数据库驱动

2023-07-27

汽车配置号订单辆份日期对比

汽车配置号订单辆份日期对比

2023-06-29

Finereport一些基础报表设计

Finereport一些基础报表设计

2023-06-13

上证50分钟涨跌幅数据.xlsx

上证50分钟涨跌幅数据.xlsx

2023-05-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除