【Java温故知新(二)】面向对象|API|工具类
抽象类抽象类的由来:
回顾昨天写的动物类代码, 我们在其中写了1个eat()方法, 方法中有一句”废话”: 动物会吃.不同的动物吃的内容是不一样的, 所以这句话写了也没有意义, 我们就思考, 能不能删掉呢?这样的方法就叫: 抽象方法, 有抽象方法的类, 就叫抽象类, Java中, 抽象用abstract表示.
抽象类的特点:
Java中, 抽象用 abstract关键字表示.
有抽象方法的类一定是抽象类(或者接口), 但是抽象类中不一定有抽象方法.
抽象类不能直接实例化. 问: 那抽象类怎么实例化呢? 答: 通过 抽象类多态 实现, 即: 创建该抽象类的子类对象即可.
抽象类的子类. 如果是普通类: 则必须重写该抽象类中所有的抽象方法. 如果是抽象类: 则可以不用重写父类中的抽象方法.
抽象类的成员特点: (即, 抽象类中能写啥, 不能写啥.)
专业版: 变量, 常量, 构造方法, 非静态方法, 静态方法, 抽象方法.简单记忆: 抽象类比普通类多一种抽象方法, 而且还可以不写.
问: 抽象类中的 抽象方法 和 非抽象方法有什么意义?
抽象方法: 强制要求子类必须完成某 ...
【Java温故知新(一)】数组|面向对象特征|两个关键字
数组相关
和Python中一样, Java中也是有用来同时存储多个同类型元素的容器的, 那就是: 数组. 在一个数组中,数据元素的类型是唯一的,即一个数组中的元素的类型相同。
定义数组
方式一: 动态初始化 (我们给定长度, 由系统给出默认初始化值)
12345格式一: 数据类型[] 数组名 = new 数据类型[长度];格式二: 数据类型 数组名[] = new 数据类型[长度];
解释: 上述两种定义方式只是写法不同, 并无其他区别
方式二: 静态初始化(我们给定初始化值, 由系统指定长度)
12345格式一: 数据类型[] 数组名 = new 数据类型[]{元素1, 元素2, 元素3}; 格式二: 数据类型[] 数组名 = {元素1, 元素2, 元素3};
解释: 上述两种定义方式只是写法不同, 并无其他区别.
数组中的默认值12345例如:int类型数组, 元素默认值是: 0double类型的数组, 元素默认值是: 0.0boolean类型的数组, 元素默认值是: falseString类型的数组, 元素默认值是: n ...
【富华保险】项目总结及标签计算全流程
首先梳理一下流程:
业务数据库 → HDFS → Hive数仓分层(ODS层) → ElasticSearch → 标签计算 → 读取元数据将计算结果写入到ElasticSearch
项目总结幕布: https://www.mubu.com/doc/lV4_0JwoCW
项目背景
行业特点:
1.实时需求较少、离线需求较多
2.指标计算对精度要求较高
为了能更好地分析历史用户的行为习惯,将用户标签化,利用大数据技术分析用户的偏好和行为,可以帮助保险公司更好地开展精准营销、产品定制、风险评估、理赔处理、客户服务等业务,从而更好地满足客户需求,提升业务效率和客户体验,为公司提高收益
标签体系一级标签: (行业)保险行业
二级标签: 子行业-三有保险用户画像
三级标签: 标签大类-投保客户类型、投保详情商业类型、理赔记录赔付类型、退保记录流式类型
四级标签: 标签的一个类别(对应一个计算任务):性别、身高、年龄、省市、区域、收入、民族、婚姻状况、教育程度、缴费期、购买保险的年龄、购买周期、保险类型、保单状态、保单持有日期等
五级标签: 四级标签对应的具体的值:标签规则就是标签计算的依 ...
【富华保险】DolphinScheduler技术栈
DolphinScheduler介绍DS是什么?
DolphinScheduler是分布式的工作流调度工具平台,是以DAG组织任务流,具有资源监控,任务监控、定时调度,可以调度30+类型的任务
开源官网
中文的官网:
https://dolphinscheduler.apache.org/zh-cn
ds的文档官网:
https://dolphinscheduler.apache.org/zh-cn/docs/1.3.5
DS架构
集群角色
MasterServer: ds的主节点角色
WorkerServer:ds的工作节点角色
ApiApplicationServer:提供API接口服务的角色
AlertServer:提供告警服务角色
LoggerServer:提供日志服务角色
DS配置
必装软件:
zookeeper
mysql
hadoop
修改配置:
common.properties
datasource.properties
install_config.conf
dolphinscheduler_env.sh
修改内容:
1234567 ...
【富华保险】项目简介及项目配置流程和启动
本项目涵盖两方面的内容:
保险数仓
保险用户画像
项目背景精算说明
整个保险行业中, 最为核心的技术就是精算, 精算简单来说, 就是根据不同年龄以及保额来计算需要收取多少保费的问题, 精算的出现改变了从早期的经验判断的方案来确定保费阶段, 让保险行业更加的专业化, 精细化 , 准确化
精算行业并不仅仅解决保费的问题, 包含有: 确保保费的费率, 应付意外损失的准备金、自留限额、未到期责任准备金和未决赔款准备金等方面, 都力求采用更精确的方式取代以前的经验判断
保险精算学主要研究事故的出险规律、损失的分布规律、保费的厘定、保险产品的设计、准备金的提取、偿付能力等保险具体问题
精算发展里程
发展里程说明:
1693年,英国大数学家、天文学家哈雷编制出第一张生命表,这就标志着精算学的诞生。
1757年,英国人简姆士·丹松首先提出应按保险人的年龄和保额收取保费,即提出保费的计算应考虑死亡率的大小。至此,精算思想正式进入人寿保险领域。
1764年,英国的爱德沃创办了世界上第一家人寿保险公司——伦敦公平人寿保险社,采用了简姆士·丹松的计算保费的思想和方法,并设立了专门的精算技术部门,承 ...
【用户画像(十)】Flume实现实时数据采集
Flume数据采集Flume概念
Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的软件。
Flume 的核心是把数据从数据源(source)收集过来,再将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume 再删除自己缓存的数据。
Flume 支持定制各类数据发送方,用于收集各类型数据;同时,Flume 支持定制各种数据接受方,用于最终存储数据。一般的采集需求,通过对 flume 的简单配置即可实现。针对特殊场景也具备良好的自定义扩展能力。因此,flume 可以适用于大部分的日常数据采集场景。
Flume中的角色Flume 系统中核心的角色是 agent,agent 本身是一个 Java 进程,一般运行在日志收集节点。
每一个 agent 相当于一个数据传递员,内部有三个组件:
Source:采集源,用于跟数据源对接,以获取数据;
Sink:下沉地,采集数据的传送目的,用于往下一级 agent ...
【用户画像(九)】Spark结构化流处理Nginx日志统计并分析
在开始之前先贴几个将IP地址转换成地理位置的网站
http://ip-api.com/json/117.136.12.79?lang=zh-CNhttps://opendata.baidu.com/api.php?query=120.10.33.48&co=&resource_id=6006&oe=utf8https://whois.pconline.com.cn/ipJson.jsp?ip=120.10.33.48&json=truehttp://ip.ws.126.net/ipquery?ip=117.136.12.79
将IP地址转换成地理位置
除了上述网站, 还可以使用离线的方式
1pip install geoip2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
正则表达式解析Nginx日志
格式
具体实现123456789101112131415161718192021222324252627282930313233343536373839404142import re# 要匹配的 ...
打野发育法
打野发育法
考研期间尽量让自己保持一个内心稳定的状态,如果暂时遇到客观环境上的困难,能解决的解决,不能解决的心态也要乐观
不要一味的埋头读书,偶尔要与人交流一下,评估一下自己的能力,不要丧失与人交流的能力,一味考研容易自闭。
如果发现自己很久没笑了,记得多笑笑,管他开不开心,先笑起来,身体行动上的变化会给自己心理上的正向暗示。
记得身体与开心是最重要的,没什么比自己健康开心的体验自己的存在更重要,有负面想法要积极排除,即使暂时状态不好,也要相信人生是场马拉松,你的处境不是永远一成不变的,即使暂时逆风,钻野发育不要送,总有一天能翻盘,所以的困难都是暂时的,对困难和一些不好的事情有一种钝感,不过度渲染。
不要过度压抑自己,期间最好要有让你值得期待的放松,可以是偶尔的一顿烧烤,可以是打一两场篮球,可以是去操场上跑跑步,开几盘王者lol,吃鸡,和朋友聚会,能让你在繁忙的生活里有所期待,多分泌一点多巴胺就不错。
打野发育法精髓
难题不会做, 那你会简单题吧, 先做简单的, 就像打游戏一样, 逆风了就要发育, 不要硬钢, 不要送, 吃兵线打野, 总有翻盘的时候.
【用户画像(八)】机器学习有监督学习通过决策树算法计算用户性别标签
决策树算法树可以分为多种类型,包括二叉树、二叉搜索树、AVL树、红黑树、B树、B+树等等。
二叉树是一种特殊的树,它的每个节点最多只有两个子节点,分别称为左子节点和右子节点。
二叉搜索树是一种二叉树,它的每个节点都满足左子节点的值小于当前节点的值,右子节点的值大于当前节点的值。这种特性使得二叉搜索树可以快速地进行查找、插入和删除操作。
AVL树是一种自平衡二叉搜索树,它通过旋转操作保持树的平衡,以保证查找、插入和删除操作的时间复杂度为O(log2n)。
红黑树也是一种自平衡二叉搜索树,它通过颜色标记节点来保持树的平衡,以保证查找、插入和删除操作的时间复杂度为O(log n)。
B树和B+树是一种多路搜索树,它的每个节点可以存储多个值,并且可以有多个子节点。B树和B+树主要用于磁盘存储数据的索引,可以有效地减少磁盘I/O操作的次数,提高数据的访问效率。
什么是决策树决策树算法是一种监督学习算法,英文是Decision tree。
决策树是一个类似于流程图的树结构:其中,每个内部结点表示一个特征或属性,而每个树叶结点代表一个分类。树的最顶层是根结点。使用决策树分类时就是将 ...
【用户画像(七)】数据挖掘之RFM,RFE,PSM标签计算
数据挖掘KMeans算法KMeans介绍
k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是,预将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
余弦相似度什么是余弦相似度
**余弦相似度算法:**一个向量空间中两个向量夹角间的余弦值作为衡量两个个体之间差异的大小,余弦值接近1,夹角趋于0,表明两个向量越相似,余弦值接近于0,夹角趋于90度,表明两个向量越不相似
主要应用在数据查重场景中, 这里推荐一篇大佬的文章, 写的简单易懂
https://blog.csdn.net/u014539465/article/details/105353638/
文档1:有/ ...
