0%
Hive 之 动态分区
asdasdsadsadsadsa
Hive 之 insert 和 insert overwrite
Could not initialize class sun.awt.X11GraphicsEnvironment解决方案
Linux磁盘分区
1、LVM简介
逻辑卷管理器本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次。它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组。LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由LVM层来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能,如文件系统的创建和数据的访问等。但LVM逻辑设备不受物理约束的限制,逻辑卷不必是连续的空间,它可以跨越许多物理卷,并且可以在任何时候任意的调整大小。相比物理磁盘来说,更易于磁盘空间的管理。
RestTemplate大文件下载
场景
默认使用RestTemplate
下载文件时,会读取所有的流之后再返回,如果文件流比较大的话,会对系统造成很大的压力,因此需要支持边读边写,及时释放内存,以此达到减少内存压力的效果。
实现
得到body
流,由我们内部的程序自己去进行读写,而不是由RestTemplate
读完缓存在内存中给到我们。
void downLoadBigFile() throws IOException {
// 待下载的文件地址
String url = "http://xxxx";
// 文件保存的本地路径
String targetPath = "E:\\xxx";
// 定义请求头的接收类型
RequestCallback requestCallback = request -> request.getHeaders().setAccept(Arrays.asList(MediaType.APPLICATION_OCTET_STREAM, MediaType.ALL));
// 对响应进行流式处理而不是将其全部加载到内存中
restTemplate.execute(url, HttpMethod.GET, requestCallback, clientHttpResponse -> {
Files.copy(clientHttpResponse.getBody(), Paths.get(targetPath));
return null;
});
}
Linux口令过期告警
Linux防火墙
BTree和B+Tree详解
B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B-Tree),B+树即由这些树逐步优化而来。