- 博客(75)
- 资源 (13)
- 收藏
- 关注
原创 一种通用的基于实时指标监控管理方法
针对我们对实时数据指标监控告警功能的使用功能角度出发,在我们现有数据指标计算的基础上,搭建一套灵活完整的数据监控告警体系,一方面防止数据重复写入浪费资源,另一方面针对现有实时数据指标结果信息完成告警监控。
2022-10-14 10:29:33
884
原创 特征工程之特征选择——来自小白的进阶之路(二)
在机器学习和统计学中,特征工程下的特征选择也被称为变量选择、属性选择或变量子集选择。它是指为了构建模型而选择相关特征(即属性、指标)子集的过程。使用特征选择技术有三个原因:简化模型,使之更易于被用户理解缩短训练时间改善通用性、降低过拟合(即降低方差)要使用特征选择技术的关键假设是:训练数据包含许多冗余或无关的特征,因而移除这些特征并不会导致丢失信息。冗余或无关特征是两个不同的概念。如果一个特征本身有用,但如果这个特征与另一个有用特征强相关,且那个特征也出现在数据中,那么这个特征可能
2021-10-13 11:22:48
1706
原创 特征工程之特征预处理——来自小白的进阶之路(一)
特征工程-特征选择:在机器学习和模式识别中,特征是被观测对象的可测量性能或特性。在模式识别、分类和回归中,信息特征的选择、判别和独立特征的选择是有效算法的关键步骤。特征通常是数值型的,但语法模式识别可以使用结构特征(如字符串和图)。“特征”的概念与线性回归等统计技术中使用的解释变量有关。特征也就是我们常常说的变量/自变量,一般分为三类:无序类别(离散)型有序类别(离散)型连续型根据不同类型的特征进行数据预处理,对算法准确性尤为重要
2021-10-09 16:08:42
1141
转载 什么是类别、离散和连续变量?
定量变量可以分为离散变量和连续变量。类别变量类别变量包含有限的类别数或可区分组数。类别数据可能不是逻辑顺序。例如,类别变量包括性别、材料类型和付款方式。离散变量离散变量是在任意两个值之间具有可计数的值的数值变量。离散变量始终为数值变量。例如,客户投诉数量或者瑕疵或缺陷数。连续变量连续变量是在任意两个值之间具有无限个值的数值变量。连续变量可以是数值变量,也可以是日期/时间变量。例如,零件的长度,或者收到付款的日期和时间。如果您有离散变量而且想要将其包括在回归或方差分析模型中,可以决
2021-09-08 18:50:40
11795
原创 JAVA轮询调度实现主从切换热启动
目录现有技术解决方案方案详情1、配置文件初始化2、注册运行具体的代码信息 a)、初始化实体类 b)、HA分发监测机制执行 c)、节点应用服务运行 d)、主从节点轮询监控现有技术很多时候我们都需要使用调度任务,按照指定周期执行对应的应用程序,简单的可以借助Spring的定时任务完成,复杂的可以借助一些通用的调度任务框架,例如XXL-JOB。使用Spring调度任务时,需要考虑分布式加锁机制,防...
2021-08-12 20:08:16
470
原创 一种通用的付费会员生命周期划分方式
开始接触智慧运营,刚开始对这个概念的理解觉得应该是通过数据分析最终指导实际的运营策略吧,其实也没有太大的概念,只是想着为什么大家非要通过数据算法的使用才能算得上是智慧运营呢?虽然也有一些数据相关的数据开发经验,但是认知确实是跟不上,只是记录一下自己在这条路上所有的经过。 由于做的项目主要是付费会员,那就先从这方面开始一、现有技术在互联网业务中,出于精细化运营的需要,通常将用户生命周期划分为5个时期:引入期、成长期、成熟期、休眠期和流失期,然后基于不...
2021-07-16 11:03:51
746
2
原创 一种基于流式计算实现海量数据滚动窗口聚合计算的方式
一、通用实现方式 在使用实时流式计算的时候,经常都会使用窗口的概念。对于storm而言,整体对事件窗口支持较弱,缓存整个窗口的所有数据,窗口结束时一起计算。而Flink,窗口支持较为完善,自带一些窗口聚合方法,并且会自动管理窗口状态。 伴随着大促以及相关秒杀等突发流量的行为下,会导致该窗口下数据量激增,导致数据处理延迟,当消息有延迟时,对应窗口内的信息数据会丢失,无法得到计算,需要对失效的数据做单独处理。整体不足主要体现在如下: 1、数据激...
2021-02-08 15:56:10
369
原创 一种毫秒级可视化页面、数据渲染展示的实现方式
数据可视化技术目前在应用中越来越受到重视,通过可视化表示来传达数据见解。其主要目标是将大型数据集提取为可视化图形,以便轻松了解数据中的复杂关系。它经常与信息图形、统计图形和信息可视化等术语互换使用。可视化页面通过配置管理平台选择对应的图形样式,各个图形元素组合形成整个完整的页面,页面通根据组件调用频率获取数据,完成整体流程,实现实时数据更新为了减少多频率页面渲染、数据获取的耗时,实现页面元素版本快速变更,完成版本切换,不同的接口数据按照不同的频率调用。页面元素动态渲染,元素样式缓存获取,缩短前端页面响应时
2020-12-19 14:58:31
588
2
原创 Flink-DataStream-Event Time-Generating Watermarks(三)
一、水印策略介绍 为了处理event time,Flink需要知道事件时间戳,这意味着流中的每个元素都需要分配其事件时间戳。这通常是通过使用TimestampAssigner从元素的某个字段(访问/提取)时间戳来完成的。 时间戳分配与生成水印是同步进行的,它告诉系统事件时间上的进展。您可以通过指定水印生成器来配置它。 Flink API需要一个包含TimestampAssigner和水印生成器的水印策略。许多常用的策略都可以作为水印策略的静态...
2020-11-02 20:45:43
350
原创 Flink-Timely Stream Processing(二)
一、简介 实时流处理是有状态流处理的一种扩展,时间在其中起一定的作用。在进行时间序列分析时,在基于特定时间段(通常称为windows)进行聚合时,或者在进行事件处理时(事件发生的时间很重要),都会出现这种情况。在下面的小节中,我们将重点介绍使用Flink应用程序时应该考虑的一些主题。二、时间的概念:事件时间和处理时间 当在流媒体程序(例如定义窗口)中提到时间时,可以引用不同的时间概念: Processing time: 是指机器执行相应操作的系统时间。...
2020-10-30 16:24:48
218
原创 Flink-DataStream API 概述(一)
Flink中的数据流程序是在数据流上实现转换的常规程序(例如,过滤、更新状态、定义窗口、聚合)。数据流最初是从各种来源(例如,消息队列、套接字流、文件)创建的。结果通过接收器返回,例如可以将数据写入文件或标准输出(例如命令行终端)。Flink程序可以在各种上下文中运行,可以独立运行,也可以嵌入到其他程序中。可以在本地JVM中执行,也可以在许多机器的集群上执行。为了创建您自己的Flink DataStream程序,我们鼓励您从分析Flink程序开始,然后逐渐添加您自己的流转换。其余部分作为附加操作和高级特.
2020-10-30 13:33:01
352
原创 详解Mocktito单元测试
什么是单元测试?在维基百科中给出的答案是:在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序的过程中前后很可能要进行多次单元测试,以证实程序达到软件规格书要求的工作...
2020-08-14 15:45:38
599
原创 Java GC常用命令汇总
1、查看java进程:ps -ef|grep java 使用该命令可以详细的查出对应的java进程详细信息2、使用jps命令,可以列出本机所有java进程的pid3、jstat -gcutil pid 5000 ,以5秒的维度输出对应java进成的GC情况 参数说明如下: S0: 新生代中Survivor space 0区已使用空间的百分比 S1: 新生代中Survivor space 1区已使用空间的百分比 E: 新生代已使用空间的百分比 O: 老年...
2020-08-07 18:55:24
3755
原创 小白storm集群部署
Java应用开发好多年,随着公司架构的变更,初步接触实时数据计算,从初期的Storm,到现在的Flink,开始对实时数据计算产生了深厚的兴趣,虽然目前主流实时开发架构选择都是Flink,但是前期Storm依旧遗留了一下工程,在搭建Storm集群过程中也是耗费了一下时间,简单的把Storm集群搭建过程记录下来,希望帮到有需要的人Strom集群搭建涉及三个概念:Zookeeper、Nimbus、SupervisorZookeeper:完成nimbus和supervisor之间协调的服务。...
2020-07-08 15:21:10
199
原创 Java架构基础知识(二)缓存
缓存是我们在开发中经常遇到要解决的问题,有页面缓存、应用级别的缓存,应用级缓存又分为本地缓存、分布式缓存,在本地缓存中,常用的有成员变量或局部变量实现、静态变量实现、Ehcache、Guava组件、Spring注解缓存等,分布式缓存常用的有redis、mongdb、memched等,同时hbase也会作为缓存数据库在开发中经常被使用。缓存在使用中,还会涉及命中率、最大元素(或最大空间)、清空策略,...
2020-04-11 22:45:54
207
原创 Java架构基础知识(一)
工作使用java好多年了,每次使用的时候总是查查找找,这次看看书,梳理一下,相关的架构信息整理出来,也便于后续继续使用这一节主要整理网关泛化调用、java管道技术、IO/NIO、Netty以及异步骤处理相关支持,整理为导图,把学习中的关键技术点整理出来,同时参考的文章给大家一并整理好,废话不说,直接上图如下:...
2020-04-11 19:06:11
192
原创 Flink-Table 配置(十一)
默认情况下,Table&SQL API是预配置的,用于生成具有可接受性能的准确结果。根据表程序的要求,可能需要调整某些参数以进行优化。例如,无边界的流程序可能需要确保所需的状态大小是有上限的(请参阅流概念)。目录概述执行选项优化器选项概述在每个表环境中,TableConfig都提供配置当前会话的选项。对于常见或重要的配置选项,TableConfig为gette...
2020-03-26 18:31:06
2344
原创 Flink-Table SQL 实践编程 StreamTableEnvironment(十)下
StreamTableEnvironment主要是流式数据处理,本文主要实现GroupBy Window Aggregation、Over Window aggregation对应sql api的代码实现,同时实现流数据表join 连接。代码中使用socket方式作为source数据输入方式,闲话不说,具体代码如下:StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
2020-03-25 23:23:12
3069
原创 Flink-Table SQL 实践编程 BatchTableEnvironment(十)中
BatchTableEnvironment用于批处理场景,针对SQL相关信息,具体代码实践内容如下: BatchTableEnvironment tEnv = BatchTableEnvironment.create(env); Table groupWindAggrTable = tEnv.sqlQuery("SELECT " + "TUMBLE_START(sysDate, INTERVAL '1' DAY) as wStart, " +
2020-03-25 22:42:24
1632
1
原创 Flink-Table SQL(十)上
一、Query SQL查询是用TableEnvironment的sqlQuery()方法指定的。方法将SQL查询的结果作为表返回。表可以用于后续的SQL和表API查询,可以转换为数据集或数据流,也可以写入表链接。SQL和表API查询可以无缝地混合,并进行整体优化并转换为单个程序。 为了访问SQL查询中的表,必须在TableEnvironment中注册该表。可以从表...
2020-03-15 16:30:24
1933
2
原创 Flink-Table API 实践编程 StreamTableEnvironment(九)下
这一节主要是实践编程StreamTableEnvironment下相关table api的使用信息,主要针对StreamTableEnvironment,对应实现GroupBy Window相关操作
2020-03-07 23:22:46
1481
原创 Flink-Table API 实践编程 BatchTableEnvironment(九)中
flink table api实践编程,主要针对BatchTableEnvironment,对应实现GroupBy Window相关操作,同时解决flink时间差问题
2020-03-06 23:38:21
942
原创 Flink-Table API(九)上
Table API是用于流和批处理的统一关系API。Table API查询可以在批处理或流式输入上运行,无需修改。Table API是SQL语言的一个超级集合,专门为使用Apache Flink而设计。Table API是Scala和Java的语言集成API。Table API查询不是像SQL一样将查询指定为字符串值,而是以Java或Scala中嵌入的语言样式定义的,支持IDE,如自动完成和语法验证Table API与Flink的SQL集成共享许多概念和部分API。
2020-03-03 14:21:55
298
原创 Flink-Table连接到外部系统(八)
Flink的Table API和SQL程序可以连接到其他外部系统来读写批处理表和流式表。表源提供对存储在外部系统(如数据库、键值存储、消息队列或文件系统)中的数据的访问。表接收器将表发送到外部存储系统。根据源和汇的类型,它们支持不同的格式,如CSV、Parquet或ORC。本页描述如何声明内置的表源和/或表汇,并在Flink中注册它们。注册源或接收器后,可以通过表API&SQL语句访问它。
2020-02-27 17:32:56
1820
原创 Flink-Table Streaming 时态表(Temporal Tables)(七)
时态表表示一个可变表上(参数化)视图的概念,该视图返回表在特定时间点的内容。变更表可以是跟踪变更的变更历史表(如数据库变更日志),也可以是具体化变更的变更维度表(如数据库表)。对于更改历史表,Flink可以跟踪更改,并允许在查询中的某个时间点访问表的内容。在Flink中,这种表由一个时态表函数表示。对于更改维度表,Flink允许在查询中的处理时间访问表的内容。在Flink中,这种表由一个时...
2020-02-13 23:25:47
1206
原创 Flink-Table Streaming 持续查询中的关联(六)
联接(Joins)是批处理数据处理中连接两个关系行的常见且易于理解的操作。然而,动态表上连接的语义不太明显,甚至不容易混淆。因此,有两种方法可以使用表API或SQL实际执行连接。Regular Joins(常规联接) 常规联接是最通用的联接类型,其中对联接输入的任何一侧的任何新记录或更改都是可见的,并且会影响整个联接结果。例如,如果左侧有一个新...
2020-02-13 22:40:18
1574
1
原创 Flink-Table Streaming 时间属性-Event time-实践编程(五)下
针对Flink-Table Streaming 时间属性 Event time 事件属性,实践编程如下,演示编码如下:需要依赖的公共实体类:@Datapublic class StudentInfo{ private String name; private String sex; private String course; private Float sc...
2020-02-11 17:54:55
661
2
原创 Flink-Table Streaming 时间属性-Processing time-实践编程(五)中
针对Flink-Table Streaming时间Processing time属性对应的,实践编程如下,演示编码如下:需要依赖的公共实体类:import lombok.Data;@Datapublic class StudentInfo { private String name; private String sex; private String cours...
2020-02-11 09:55:00
583
原创 Flink-Table Streaming 时间属性(五)上
一、时间属性 Flink能够处理基于不同时间概念的流数据。 处理时间是指执行相应操作的机器的系统时间(也称为“挂钟时间”)。 事件时间是指基于附加到每一行的时间戳对流数据的处理。时间戳可以在事件发生时进行编码。 摄取时间是事件进入Flink的时间;在内部,它的处理方式与事件时间类似。二、时间属性介绍 基于时间的操作(...
2020-02-10 15:22:17
830
原创 Flink-Table StreamTableEnvironment实践编程(四)下
七、实现UpsertStreamTableSink操作 public class TableStreamFlinkStudentUpsertTest { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = Stream...
2020-01-17 12:58:20
2233
原创 Flink-Table StreamTableEnvironment实践编程(四)中
六、实现RetractStreamTableSink操作 public class TableStreamFlinkStudentRetractTest { public static void main(String[] args) throws Exception { StreamExecutionEnvironment env = Stre...
2020-01-17 12:58:16
1732
原创 Flink-Table StreamTableEnvironment实践编程(四)上
在上一篇文章中掌握了StreamTableEnvironment的基本概念,下面就进入代码实战环节:一、实例中采用socket连接方式,获取数据流信息,使用 nc -l 端口号方式,开启端口监控,用来数据数据信息,实例中使用9999作为端口,命令行中输入:nc -l 9999二、本实例主要功能是完成根据学生姓名实现分数统计三、具体依赖实体类如下: @Data public ...
2020-01-17 12:58:00
5805
原创 Flink-Table StreamTableEnvironment基础知识(三)
StreamTableEnvironment用于流计算场景,流计算的对象是DataStream。相比 TableEnvironment,StreamTableEnvironment 提供了 DataStream 和 Table 之间相互转换的接口,如果用户的程序除了使用 Table API & SQL 编写外,还需要使用到 DataStream API,则需要使用 StreamTableE...
2020-01-16 11:53:15
9163
原创 Flink-Table BatchTableEnvironment实践编程(二)
了解了flink table 简单概念,在开发中实际操作起来,看一下代码的具体实践。Flink 1.9中保留了5个TableEnvironment,在实现上是5个面向用户的接口,在接口底层进行了不同的实现。5个接口包括一个TableEnvironment接口,两个BatchTableEnvironment接口,两个StreamTableEnvironment接口,5个接口文件完整路径如下:...
2020-01-14 19:21:03
6852
原创 Flink-Table API & SQL基础编程入门(一)
接触flink不久,开始学习flink table相关信息,记录下来学习过程,供大家参考学习一、引用的jar包 <properties> <scala.binary.version>2.12</scala.binary.version> <flink.version>1.9.1</flink.versi...
2020-01-14 17:34:59
1150
原创 第三章Nginx如何处理一个请求
Nginx服务器在处理一个请求时是按照两部分进行的,第一部分IP、域名,第二部分是URI(一)、IP、域名部分的处理 按照IP、域名、端口以及default_server标志来处理请求 1、基于名字的虚拟主机 在此配置中,Nginx根据请求头行中的Host,决定将请求路由到哪个Server。如果请
2017-10-29 20:03:54
504
原创 第二章Nginx配置
这一章主要学习如图所示的四个模块功能一、模块管理 Nginx采用模块化设计,模块一旦编译进来就不可能被卸载,如果有特别的需求,就只能重新编译Nginx了。 Nginx提供了core、event、http、mail和misc(杂项)五类模块,而每一类模块根据需要又有多种模块,这五类模块只有core不能被禁用,其它模块可以根据实际情况选择。
2017-06-23 21:45:17
987
原创 第一章初识Nginx
最近开始对nginx做系统学习,决定把自己学到的东西整理成文章,方便以后查看。1、nginx是什么? 百度百科中给出的解释为: Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点
2017-06-13 15:48:04
532
转载 通过分析 JDK 源代码研究 Hash 存储机制
HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。通过
2016-10-03 10:53:53
341
Java架构基础知识(二)缓存.svg
2020-04-11
Java技术总结第一章.svg
2020-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人