大数据
文章平均质量分 74
Taerge0110
一个只想认真搬砖的码农
展开
-
Scala学习笔记15: 文件和正则表达式
Scala中的正则表达式功能强大, 能够满足各种文本匹配和处理的需求;希望以上介绍能够帮助你更好的理解Scala中的正则表达式 .原创 2024-07-05 16:05:13 · 912 阅读 · 0 评论 -
[数据质量]手动实现 阿里云DataWorks 的数据质量监控告警功能
使用Python 实现对数据库表的监控告警功能, 并将告警信息通过钉钉机器人发送到钉钉群实现DataWorks中数据质量的基本功能, 当然 DW的数据质量的规则类型很多, 用起来比较方便, 这里目前简单实现了其中三个规则类型的功能, 仅供参考, 欢迎交流;初次使用Python, 请多指教使用工具: MaxCompute代码可以直接copy, 可开箱即用(部分内容, 如分区层级, 可根据你自己公司的数据表进行调整); 规则内容如有不懂, 欢迎咨询讨论;原创 2024-06-24 17:52:50 · 782 阅读 · 0 评论 -
Scala学习笔记14: 模式匹配和样式类
在Scala中, 模式匹配和样例类是强大的功能, 用于处理复杂的数据结构和逻辑 ;模式匹配是一种功能强大的机制, 可以根据数据的结构和属性进行匹配和处理 ;样例类是一种特殊的类, 用于简化模式匹配和不可变性 .原创 2024-06-21 17:48:32 · 858 阅读 · 0 评论 -
Scala学习笔记13: 集合
在Scala中, 集合的化简 (reduce) 、折叠(fold) 和扫描(scan) 是常用的函数式编程操作, 用于对集合中的元素进行聚合计算;Scala提供了丰富的集合类库, 包括可变和不可变的集合类型, 以及各种高阶函数和操作符, 方便对集合进行操作和转换;不可变集合的操作不会改变原始集合, 而返回一个新的不可变集合, 这有助于避免副作用和提高代码的可维护性 .Scala的数组与Java的数组类似, 但Scala的数组可以是泛型的, 运行存储不同类型的元素;原创 2024-06-19 09:17:28 · 707 阅读 · 2 评论 -
Scala学习笔记12: 高阶函数
通过将函数视为一等公民(First-Class Citizens) , Scala支持函数作为值的概念, 使得函数可以像其他数据类型一样被操作和传递, 从而实现更具变现力和可组合性的编程风格 .通过SAM转换, Scala提供了一种简洁的方式类将函数转换为 trait 或抽象类的实例, 从而更方便地在代码中使用函数式编程的特性 .在Scala中, 匿名函数是一种没有明确名称的函数, 通常用于简单的功能或作为高阶函数的参数;原创 2024-06-14 16:52:56 · 659 阅读 · 0 评论 -
Scala学习笔记11: 操作符
在Scala中, 以冒号结尾的操作符通常是右结合的;左结合性: 对于左结合性的操作符, 表达式中相同优先级的操作符从左向计算;在Scala中, 操作符的结合性是指子啊表达式中相同优先级的操作符出现时, 确定操作符的计算顺序;在Scala中, 可以使用括号来明确指定操作符的优先级, 以确保表达式的求值顺序符合预期;Scala中的赋值操作符通常以等号 (=) 结尾, 用于将右侧的值赋值给左侧的变量;原创 2024-06-12 16:28:23 · 740 阅读 · 0 评论 -
Scala学习笔记10: 特质
在Scala中, 特质(Tratis) 是一种非常强大的特性, 可以为类提供额外的功能, 类似于 Java中的接口 ;特质可以包含抽象方法、具体方法、字段等, 并且可以被类混入以增强类的功能 .原创 2024-06-07 16:02:56 · 1101 阅读 · 0 评论 -
Scala学习笔记9: 继承
在Scala中, 继承(Inheritance) 是面向对象编程的重要概念, 允许一个类 (子类) 继承另一个类 (父类) 的特性和行为;需要注意的是, 在Scala中, 一个类只能扩展一个类(单继承) , 到那时可以混入多个特质(traits) 来实现多重继承和代码复用 .总的来说, 在Scala中, 对象的相等性可以通过引用相等性和结构相等性来进行比较, 开发人员可以根据具体需求选择合适的比较方式 .当一个类扩展另一个类时, 他会继承父类的特性 (字段, 方法等) 并可以重写父类的方法;原创 2024-06-05 15:27:36 · 780 阅读 · 0 评论 -
Scala学习笔记8: 包
在Scala中, 包(Packages) 用于创建命名空间, 帮助组织和管理代码, 类似与 Java 中的包;通过合理的使用这些访问修饰符, 可以控制代码中各个成员的可见性和访问权限, 从而提高代码的安全性和可维护性;通过包对象, 可以方便地共享代码和数据, 避免重复定义相同的内容, 并提高代码的组织性和可维护性 .包对象运行在包级别定义全局可以的成员, 这些成员可以被包内的所有类、对象和特质访问;通过包对象, 可以方便地在包级别共享代码和数据 , 提高代码的可维护性和可读性;原创 2024-05-31 15:51:44 · 827 阅读 · 0 评论 -
Scala学习笔记7: 对象
在Scala中, 伴生对象 (Companion Object) 是一个与类同名的对象, 用于扩展类的功能并提供类级别的操作;通过这种方式, 你可以灵活地扩展类或特质的对象, 使其具有更多的功能和行为, 同时保持原始类或特质的不变性;通过伴生对象, 你可以在Scala中实现类级别的操作和共享的功能, 提供高代码的可维护性和灵活性;通过扩展类或特质的对象, 可以在不修改原始类或特质的情况下, 为其添加额外的功能或行为;在Scala中, 要扩展类或特质的对象, 可以使用匿名类或匿名特质的方式来实现;原创 2024-05-29 19:03:27 · 1143 阅读 · 2 评论 -
Scala学习笔记6: 类
在Scala中, 类用于创建对象的蓝图;类可以包含方法、值、变量、类型、对象和特质等成员;类名应该以大写字母开头, 可以包含构造函数、主题和方法等可以使用class关键字定义类, 并使用new关键字实例化类;原创 2024-05-24 16:19:42 · 952 阅读 · 0 评论 -
Scala学习笔记5: 映射、选项以及元组
在Scala中, 构造映射的种类主要包括 不可变映射 (Immutable Map) 和 可变映射(Mutable Map); 方法: 交换元组中的元素顺序, 仅限于两个元素的顺序交换, 不包含是哪个或更多元素的元组;在Scala中, 构造映射(Map) 是一种常见的操作, 用于创建和初始化键值对集合;在Scala中, 可以使用通过键来获取映射 (Map) 中的值;来反转映射中的键值对, 将原来的键变为值, 值变为键;元组可以包含不同类型的元素, 并且原则的长度是固定的;和元素的索引来访问元素中的元素;原创 2024-05-22 17:29:46 · 841 阅读 · 0 评论 -
Scala学习笔记4: 数组
定长数组、变长数组、遍历数组、数组缓存、数组转换、常用算法、多维数组原创 2024-05-20 09:23:23 · 329 阅读 · 0 评论 -
Scala学习笔记3: 字符串
创建字符串、字符串长度、拼接字符串、格式化字符串、字符串插值原创 2024-05-16 09:28:02 · 328 阅读 · 0 评论 -
Scala学习笔记2: 控制结构和函数
Scala的 if/esle 语法结构与java一样, 但是在Scala中 if/else 表达式有值, 这个值就是跟在 if 或 else 之后表达式的值.相比较, 第一种写法更好, 因为它可以用来初始化一个 val, 而第二种写法中, z 必须是 var;在Scala中, 语句的终止通常使用分号 (😉 来表示, 但是大多数情况下, 分号是可选的;, 在调用函数时, 可以使用默认参数, 也可以通过指定参数的名称来传递参数值 .原创 2024-05-15 09:17:01 · 940 阅读 · 1 评论 -
Scala学习笔记1:基础
Scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。原创 2024-05-13 17:13:13 · 470 阅读 · 0 评论 -
窗口函数的实现
窗口函数的实现 & MySQL 实现窗口函数功能; 众所周知: MySQL从8.0版本开始支持窗口函数, 但是对于8.0版本之前的MySQL是无法使用窗口函数的, 我们可以通过一个类似嵌套子查询的方式, 来实现窗口函数的功能;原创 2024-03-14 12:06:28 · 412 阅读 · 0 评论 -
CAST函数简介
将某种数据类型的表达式,显式转换为另一种数据类型。原创 2024-03-11 09:50:07 · 1294 阅读 · 0 评论 -
SQL的窗口函数
窗口函数分类:聚合函数、排序函数和值函数。SQL中的窗口函数是一种特殊的函数,它能够在查询结果中创建一个窗口或者窗口集合,然后对这个窗口进行计算。窗口函数可以用于分析和汇总数据,同时保留原始查询结果的行顺序。窗口函数基于查询结果的行数据进行计算,窗口函数运行在HAVING子句之后、 ORDER BY子句之前。窗口函数需要特殊的关键字OVER子句来指定窗口即触发一个窗口函数。原创 2024-02-29 09:09:01 · 1254 阅读 · 0 评论 -
SQL中的 CASE WHEN用法详解
CASE WHEN语句提供了一种在 SQL 查询中根据不同条件执行逻辑的灵活方法。它可用于简单的条件检查,也可用于复杂的逻辑操作。使用CASE WHEN可以使查询更具可读性,并且可以减少在应用程序代码中进行逻辑操作的需要。原创 2024-02-23 17:49:05 · 4879 阅读 · 0 评论 -
计算每小时累计销售额
本题的核心是找到小时级别的序列,‘统计每年在校人数’ 也是相同类型的题目, 可以熟练使用, 不管是天级别,小时级别,分钟级别 都可以使用次方法实现;‘统计每年在校人数’: https://blog.csdn.net/Taerge0110/article/details/135137626?原创 2024-01-25 17:12:33 · 851 阅读 · 0 评论 -
基于SQL的分析挖掘案例
背景: 一个餐厅,经营一段时间的销售数据, 根据销售数据分析客户喜好, 以提升餐厅的营业水平原创 2024-01-24 10:33:32 · 579 阅读 · 0 评论 -
SQL中的几个区别
1:几种JOIN连接方式的区别?2:几种排序窗口函数的区别?3:on和where的区别?4:having和where的区别?5:union和union all的区别?6:in和exists的区别?7:数据库中空字符串、0和NULL的区别?8:count(1)、count(*)和count(列名)的区别?原创 2024-01-18 12:21:19 · 1420 阅读 · 0 评论 -
Python常用日期函数和日期处理方法
Python常用的日期处理函数使用案例, 和一些简单的日期处理方法(持续更新)原创 2024-01-11 14:23:25 · 857 阅读 · 0 评论 -
Python实现数据库表的监控告警功能
简介:使用Python 实现对数据库表的监控告警功能, 并将告警信息通过钉钉机器人发送到钉钉群实现DataWorks中数据质量的基本功能, 当然 DW的数据质量的规则类型很多, 用起来比较方便, 这里只简单实现了其中两个规则类型的功能, 仅供参考;初次使用Python, 请多指教使用工具: MaxCompute。原创 2024-01-05 18:52:37 · 511 阅读 · 0 评论 -
Transactional Table(事务表)创建和使用
创建可以支持增删改操作(insert,delete,update)的事务表; 使用工具: maxcomputer; 本次创建 Transactional Table 1.0表; 初次使用,欢迎指教;原创 2024-01-03 18:20:39 · 727 阅读 · 0 评论 -
Hive常用日期函数,时间函数
Hive常用日期函数,时间函数。原创 2023-12-26 15:40:51 · 897 阅读 · 0 评论 -
Hive的四种排序方法
hive有四种排序方法: ORDER BY 、SORT BY 、DISTRIBUTE BY 、CLUSTER BY。hive排序方法,hive的排序方式。原创 2023-12-22 15:30:45 · 1938 阅读 · 0 评论 -
统计每年在校人数
posexplode() 函数: 该函数可以将index和数据都取出来。可以使用 index 作为值和招生年份相加, 得出在校年份, 因为index是从0 开始的, 所以需要将年制 加1。原创 2023-12-21 18:32:23 · 382 阅读 · 0 评论 -
Python下载和安装教程
python的下载和安装详细教程原创 2023-12-21 15:49:24 · 420 阅读 · 0 评论 -
Git下载和安装
git 下载安装详细教程原创 2023-12-15 17:57:50 · 1134 阅读 · 0 评论 -
统计各品类最畅销的商品
统计各品类售出商品的种类数和销量最好的商品。原创 2023-12-13 09:03:47 · 417 阅读 · 0 评论 -
计算部门平均工资
计算部门的平均工资,要求去掉部门的最高和最低工资,如果部门的最高和最低工资有相同的,则去掉一个即可;原创 2023-12-12 09:24:21 · 461 阅读 · 0 评论 -
间断连续登陆天数问题
统计用户最大连续登陆天数, 间隔一天也算是连续登陆;例如: 用户 1 3 5 8 登陆, 算做连续登陆5天是连续登陆天数的升级版, 结合浏览窗口划分。原创 2023-12-11 17:35:48 · 1021 阅读 · 0 评论 -
使用相同IP的用户
使用相同IP的用户问题:根据用户登录信息表(uuid,ip,log_in_time), 统计出使用相同ip数超过3个的, 登陆的用户有哪些.(也可以根据相同ip数, 时间等条件, 判断哪些用户是同一个人)原创 2023-12-06 16:49:37 · 358 阅读 · 0 评论 -
工作日各时间段的叫车量、等待时间、调度时间
统计周一到周五各时段的叫车量、平均等待接单时间和平均调不同时段定义:早高峰 [07:00:00 , 09:00:00)、工作时间 [09:00:00 , 17:00:00)、晚高峰 [17:00:00 , 20:00:00)、休息时间 [20:00:00 , 07:00:00)全部以event_time-开始打车时间为时段划分依据,平均等待接单时间和平均调度时间均保留1位小数,平均调度时间仅计算完成了的订单,结果按叫车量升序排序。时间区间左闭右开(即7:00:00算作早高峰,而9:00:00不算做早高峰)原创 2023-12-06 11:41:21 · 1102 阅读 · 0 评论 -
SQL中几种JOIN关系
SQL中的JOIN操作, 是用于根据两个或多个表中的列之间的关系,从这些表中查询数据。原创 2023-12-06 09:17:39 · 940 阅读 · 1 评论 -
实际在职人数
【代码】实际在职人数。原创 2023-12-02 14:04:07 · 540 阅读 · 1 评论 -
找出恶意买家(恶意购买用户)
订单表包含字段: order_id(订单id), user_id(用户id), order_status(订单状态), operate_time(操作时间)在任意半小时内, 取消订单订单次数 >= 3 次的用户, 被认为是恶意购买用户(恶意买家), 找出订单表里的恶意购买用户;原创 2023-11-23 15:50:19 · 302 阅读 · 0 评论 -
浏览窗口划分
规定同一个用户,在相邻两次浏览时间间隔不超过60s, 算做是同义词浏览(在同一个浏览窗口, 同一个会话);为浏览记录表增加一个浏览id(浏览窗口)字段, 同一个浏览窗口浏览id相同;题目: 有浏览记录表, user_id(用户编号), page_id(界面编号), view_timestamp(浏览时间戳)会话划分,浏览窗口划分, 浏览记录分段划分。原创 2023-11-22 17:27:24 · 296 阅读 · 0 评论