Transformation 和 Action 常用算子
一、Transformation spark 常用的 Transformation 算子如下表: Transformation 算子 Meaning(含义) map(func) 对原 RDD 中每个元素运用 func 函数,并生成新的 RDD filter(f...
一、Transformation spark 常用的 Transformation 算子如下表: Transformation 算子 Meaning(含义) map(func) 对原 RDD 中每个元素运用 func 函数,并生成新的 RDD filter(f...
单机版中我们用的是Guava Cache,但是这玩意存在集群的时候就凉了,所以我们还是要借助类似Redis、ZooKeeper 之类的中间件实现分布式锁。 本章目标 利用 自定义注解、Spring Aop、Redis Cache 实现分布式锁,你想锁表单锁表单,想锁接口锁接口…. 导入依赖 org.springframework.boot spring-boot-starter-we...
1.实现EmbeddedServletContainerCustomizer接口,并把实现的类纳入到Spring容器中管理 @Componentpublic class MyEmbeddedServletContainerCustomizer implements EmbeddedServletContainerCustomizer { public void customize(C...
重复提交 字面意思就是提交了很多次,这种情况一般都是前端给你挖的坑…. 前段时间在开发中遇到一个这样的问题;前端小哥哥调用接口的时候存在 循环调用 的问题,正常情况下发送一个请求添加一条数据,结果变成了同一时刻并发的发送了 N 个请求,服务端瞬间懵逼的插入了 N 条一模一样的数据,前端小哥哥也不知道问题在哪里(恩…坑就这样挖好了,反正不填坑,气死你) 这时候咋办呢;后端干呗,反正脏活累活...
Spring Boot中自定义注解实现参数校验 在日常开发中, 我们经常需要用到参数校验,而如果在Controller层中对每个参数都手动代码去校验,无疑是非常繁琐且不易于维护的。而javax正好提供了很多常用的校验,如:@NotNull、@NotBlank、@NotEmpty等常用的参数校验注解,我们只需要在对用的参数上添加该注解就可以完成校验。但是还有很多情况是javax中没有提供的,...
前言 介绍了websocket与STMOP以及SockJs使用代码,基本上拿来即可使用。也介绍了2者的区别及个人推荐使用websocket方式。 websocket在Html5里使用,主要目标还是解决服务器能主动向客户端发送消息的功能。也就是全双工的通信方式。 Spring提供了对Websocket的支持,WebSocket API是比较低级的API,但恰恰是我比较中意的方式。因为接近...
针对某些读写比很高的场景,使用本地缓存可以极大提高访问效率。 springboot中对cache做了很好的支持 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifa...
Servlet容器采用多线程来处理请求,提高性能的同时也造成了线程安全问题。要开发线程安全的Servlet应该从一下几个方面进行: 1. 变量的线程安全; 多线程并不共享局部变量,所以我们要尽可能的在Servlet中使用局部变量; 2. 代码块的线程安全; 使用同步块Synchronized,防止可能调用的代码块;但是要注意的是,要尽可能得缩小同步代码的方范围,不要在service方法和...
区别 这两个接口说白了都是 Spring 在初始化 Bean 时对外暴露的扩展点,因为 Spring 框架提供的功能不一定能够满足我们所有的需求,有的时候我们需要对其进行扩展,那么这两个接口就是用来做扩展功能的。 其实不用看源码,单纯从字面上看,大家应该也能理解个差不多: BeanFactoryPostProcessor 是针对 BeanFactory 的处理器。 Bean...
一、Spark SQL简介 Spark SQL 是 Spark 中的一个子模块,主要用于操作结构化数据。它具有以下特点: 能够将 SQL 查询与 Spark 程序无缝混合,允许您使用 SQL 或 DataFrame API 对结构化数据进行查询; 支持多种开发语言; 支持多达上百种的外部数据源,包括 Hive,Avro,Parquet,ORC,JSON 和 JDBC 等; ...