1 iot-eye

尚未进行身份认证

我要认证

优秀的代码是它自己最好的文档。当你考虑要添加一个注释时,问问自己,“如何能改进这段代码,以让它不需要注释?”

等级
TA的排名 20w+

Hive专题-distinct优化

目录一、问题描述二、分治优化一三、分治优化二一、问题描述在hive中count(distinct)很容易造成数据倾斜。但有时,“数据倾斜”又几乎是必然的。我们来举个栗子:假设表sdk_session_details中记录了访问网站客户端会话信息,即:如果用户打开App客户端,则会产生一条会话信息记录在该表中,该表的粒度为“一次”会话,其中每次会话都记录了用户的唯一标示uuid,uuid是一个很长的字符串,假定其长度为64位。现在的需求是:每天统计当月的活用用户数——“月活跃用户数”(当月访问过app就

2020-07-02 07:54:34

Flink进阶- 复合复杂事件架构(MCEP)

目录一、复杂事件CEP是什么?二、CEP特征三、背景四、架构设计4.1 CEP元数据表结构4.2 CEP超时事件设计4.2.1 超时UI设计4.2.2 超时Step存储到HBase表结构4.2.3 超时处理设计一、复杂事件CEP是什么?复杂事件处理(Complex Event Processing,CEP);Flink CEP是在Flink中实现的复杂事件处理(CEP)库;CEP允许在无休止的事件流中检测事件模式,输出数据中重要的部分;一个或多个由简单事件构成的事件流通过一定的规则匹配,然后

2020-06-26 10:00:21

Maven专题(六) - 插件maven-shade-plugin

目录一、filters和artifactSet二、资源转换2.1 ManifestResourceTransformer2.2 AppendingTransformer2.3 ServicesResourceTransformer三、原始构件与shade构件网上有一些maven-shade-plugin替代maven-assembly-plugin的文章,原因是代maven-assembly-plugin打出的jar包中要么是不能设置Main-Class,要么spring的META-INF/spring.

2020-06-20 07:50:41

Maven专题(五) - 插件maven-assembly-plugin

Assembly插件主要是聚合项目的输出,比如依赖,模块以及其他文件。通俗的来说,就是将项目内容按照一定规则及指定格式重新组合并输出。它支持的输出格式有多种:jar jar包war war包dir 文件目录zip zip压缩包tar tar压缩包tar.gztar.bz2tar.xz为什么需要Assembly插件呢?因为对于服务类型的后台程序,线上运行时一般通过脚本的方式启动和停止,而项目中的目录结构复杂且不够直观,且项目文件也需要合并和过滤,Assembly插件就可以帮助我们完成。

2020-06-20 07:42:52

Maven专题(四) - 插件maven-resources-plugin

Resources插件负责处理项目资源文件并拷贝到输出目录。Maven将main resources和test resources分开,一般main resources关联main source code,而test resources关联test source code。Resources插件目标有三个:resources:resources:拷贝main resources到main output directory。它绑定了process-resources生命周期阶段,当执行compiler:

2020-06-20 07:24:36

Maven专题(三) - 聚合与继承

目录在实际项目的使用中,常常会对项目进行模块划分,以降低耦合。如服务接口模块,各业务模块,web模块等。而模块间共享一些相同的依赖,彼此间也紧密联系。此时我们就可以通过maven的聚合和继承来管理模块。比如现在我们有以下模块:example-apiexample-serviceexample-web模块间的关系是example-web和example-service通过example-api相连接。example-web -> example-api <- example-se

2020-06-20 01:01:05

Maven专题(二) - 仓库与私服

目录一、本地仓库和远程仓库二、私服三、镜像四、仓库搜索一、本地仓库和远程仓库maven仓库分为本地仓库和远程仓库,当maven根据坐标寻找构件时,首先会从本地仓库中查找,如果本地仓库中没有,则会去远程仓库中查找,然后下载到本地仓库中再使用。本地仓库的仓库目录默认为用户目录/.m2/repository,可以修改 .m2/setting.xml 文件(默认不存在,需要从maven安装目录下copy一份)的localRepository元素。<settings> <localRe

2020-06-20 00:55:26

Maven专题(一) - Maven基础

目录一、坐标定义二、依赖配置一、坐标定义<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion

2020-06-20 00:03:32

Spring IOC之后置处理器分析(四)

目录一、BeanPostProcessor二、InstantiationAwareBeanPostProcessor三、BeanFactoryPostProcessor四、BeanDefinitionRegistryPostProcessor一、BeanPostProcessorBean的后置处理器,主要在bean初始化前后工作。public interface BeanPostProcessor { // 在初始化方法(如:afterPropertiesSet 或 init-method)执行前触

2020-06-18 07:33:51

Spring注解大纲

目录01、AnnotationConfigApplicationContext02、@Configuration三03、@Bean04、@Primary05、@PostConstruct06、@PreDestroy07、@Scope08、@ComponentScan8.1 注解类8.2 实现09、@Filter10、@Lazy11、@Conditional11.1 注解11.2 实现12、@Import12.1 注解12.2 实现13、@Component14、@Repository15、@Controll

2020-06-11 01:22:53

Spring IOC之ApplicationContextAwareProcessor源码分析(三)

目录一、概述二、IOC容器注册ApplicationContextAwareProcessor源码解析2.1 IOC注册ApplicationContextAwareProcessor时序图2.2 刷新IOC容器2.3 注册IOC后置处理器和类加载器三、ApplicationContextAwareProcessor源码解析一、概述ApplicationContextAwareProcessor是一个Spring内部工具,它实现了接口BeanPostProcessor,用于向实现了如下某种Aware接口

2020-06-13 01:25:35

Spring IOC之Singleton Bean创建以及BeanPostProcessor调用源码分析(二)

Spring IOC之BeanPostProcessor源码分析(二)一、IOC容器注册BeanPostProcessor1. IOC容器注册BeanPostProcessor的时序图二、IOC容器调用BeanPostProcessor1. IOC容器调用BeanPostProcessor时序图一、IOC容器注册BeanPostProcessor1. IOC容器注册BeanPostProcessor的时序图二、IOC容器调用BeanPostProcessor1. IOC容器调用BeanPost

2020-06-07 02:28:54

Spring IOC之ClassPathXmlApplicationContext启动深入源码分析(一)

AnnotationConfigApplicationContext是Spring用来加载注解配置的ApplicationContext,它是如何加载所有的bean,与ClassPathXmlApplicationContext有什么区别,让我们接下来揭开它的神秘面纱。一、类图二、时序图三、源码剖析3.1 初始化IOC容器目标类:ClassPathXmlApplicationContext// new ClassPathXmlApplicationContext("applocationCo

2020-06-06 02:19:32

互联网专用名词

一、业务类01.DAU日活跃用户数量(Daily Active User)。通常统计一日(统计日)之内,登录或使用了某个产品的用户数(去除重复登录的用户),这与流量统计工具里的访客(UV)概念相似。02. MAU月活跃用户人数(Monthly Active User)。指网站、APP等月活跃用户数量,数量的大小反映用户的活跃度,但是无法反映用户的粘性。03. ROI投资回报率(Return of investment)。指通过投资而应返回的价值,即企业从一项投资活动中得到的经济回报,涵盖了企业的

2020-06-02 00:11:02

Java基础知识

一、ThreadPoolExecutorpublic ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> w

2020-05-22 01:26:36

测试指标

01. QPSQPS(Queries Per Second),即每秒查询率,表示一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器(比如是读写分离的架构,就是读的服务器)在规定时间内所处理流量多少的衡量标准。关键点:如果是对一个页面请求一次,形成一个TPS,但一次页面请求,可能产生多次对服务器的请求(页面上有很多HTML资源,比如图片等),服务器对这些请求,就可计入“QPS”之中。...

2020-02-25 22:22:15

梯度下降法的推导

Redis01. 什么是梯度梯度下降算法的公式非常简单,”沿着梯度的反方向(坡度最陡)“是我们日常经验得到的,其本质的原因到底是什么呢?为什么局部下降最快的方向就是梯度的负方向呢?也许很多朋友还不太清楚。没关系,接下来我将以通俗的语言来详细解释梯度下降算法公式的数学推导过程。01. 什么是梯度梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着...

2020-02-25 02:01:45

Redis配置详情

Redis01. 安装1.1 软件安装1.2 服务配置02. 详细配置01. 安装1.1 软件安装wget http://download.redis.io/releases/redis-5.0.5.tar.gz|tar xzcd redis-5.0.5/makecd srcmake install PREFIX=/usr/local/rediscd /usr/local/re...

2019-10-02 07:57:18

加密算法之AES

AES一、pom二、AES-128位-有向量-CBC/PKCS5Padding一、pom<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.13</version>...

2019-09-03 17:29:20

Log4j日志决战

log4j一、 Log4j简介01. Loggers02. Appenders03. Layouts二、配置详解01. 配置根Logger02. 配置日志信息输出目的地(appender)03. 配置日志信息的输出格式(Layout)三、配置文件的位置01. 默认加载02. 自定义加载四、案例一、 Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源...

2019-09-02 13:04:50

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取