DeathWhispers

Spark 累加器与广播变量

一、简介 在 Spark 中,提供了两种类型的共享变量:累加器 (accumulator) 与广播变量 (broadcast variable): 累加器 :用来对信息进行聚合,主要用于累计计数等场景; 广播变量 :主要用于在节点间高效分发大对象。 二、累加器 这里先看一个具体的场景,对于正常的累计求和,如果在集群模式中使用下面的代码进行计算,会发现执行结果并非预期: ...

Docker 网络详解及 pipework 源码解读与实践

Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker 同样有着很多不完善的地方,网络方面就是 Docker 比较薄弱的部分。因此,我们有必要深入了解 Docker 的网络知识,以满足更高的网络需求。本文首先介绍了 Docker 自身的 4 种网络工作方式,然后通过 3 个样例 —— 将 Docker 容器配置到本地网络环境中、单主...

飞哥认为很多人在网络学习中存在这两个问题

原创张彦飞allen开发内功修炼 第一个是对实践的重视程度不够。这个问题在大学计算机课程中尤为突出。但这也不只是在学生群体中存在,很多工作了的工程师也是。在学习一个新技术的时候止步于眼睛看完就拉到,不想着去动手写一写,做测试跑一跑验证一下。 第二是对实现的重视程度不够。大部分的人都愿意把精力放在自己代码能波及的范围内。盲目相信工程中的黑盒依赖,把底层当成黑盒来使用,不愿意花功夫去了解一点...

Spring 定时任务详解

SpringBoot 是为了简化 Spring 应用的创建、运行、调试、部署等一系列问题而诞生的产物 自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖就可以轻易的搭建出一个 WEB 工程 在我们日常开发中,经常会遇到 数据定时增量同步、定时发送邮件、爬虫定时抓取 的需求;这时我们可以采用定时任务的方式去进行工作….. 定时任务概述 定...

Java阻塞队列

什么是阻塞队列?有什么适用场景? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是: 在队列为空时,获取元素的线程会等待队列变为非空。 当队列满时,存储元素的线程会等待队列可用。 阻塞队列常用于生产者和消费者的场景: 生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程 阻塞队列就是生产者存放元素的容器,而消费者也只...