如何解析(读取)LZ4压缩格式的Spark EventLog日志

news/2024/10/23 23:03:27/

 为什么需要Spark Event Log?

        我们都知道Spark启动后会启动Spark UI,这个Spark UI可以帮助我们监控应用程序的状态。但是如果Spark应用跑完了,Spark UI就无法查看,如果Spark在执行过程中出了问题,我们没有办法去快速查找出问题的原因,所以我们需要把Spark Event持久化到磁盘,然后通过Spark History Server去读取Spark Event Log就可以重现运行时情况,可以快速的帮助我们分析问题。

为什么要解析(读取)EventLog日志文件?

通常我们通过Spark History Server WEB UI查看已经结束的Spark作业日志,但是有时候作业生成的EventLog 文件非常大,几G甚至几十G,导致Spark History Server无法解析展示,最近就发现在生产环境中生成了一个达27G的eventlog文件。经过在网上搜索找到了如下的解析读取办法。

编写Spark代码解析EventLog文件

一般为减少磁盘空间占用,eventlog一般以lz4格式压缩存储,本文提供的方法也是读取这种格式文件,因为非压缩格式文件可以直接查看。

import java.io.{FileInputStream, FileOutputStream}
import org.apache.commons.io.IOUtils
import org.apache.spark.io.LZ4CompressionCodecval inFile = "local_lz4_event_log_file_path"
val outFile = "resolved_event_log_file_path"
val codec = new LZ4CompressionCodec(sc.getConf)
val is = codec.compressedInputStream(new FileInputStream(inFile))
val os = new FileOutputStream(outFile)
IOUtils.copyLarge(is,os)
os.close()
is.close()

        


http://www.ppmy.cn/news/245823.html

相关文章

银河麒麟服务器v10 sp2 LVM分区扩容和缩容

一、LVM分区扩容 首先查看下硬盘情况,原先是30G,现在变成40G df -h查看/目录只有27G,lsblk查看sda2也只有29g 新建分区 fdisk /dev/sda 命令(输入 m 获取帮助):n 然后一路回车 命令(输入 m 获取帮助):w 回车 …

CentOS7,非LVM根分区扩容步骤

CentOS7,非LVM根分区扩容步骤 1.查看现有的分区大小 非LVM分区,目前磁盘大小为20G,根分区总容量为17G 2.关机增加磁盘大小为30G 3.查看磁盘扩容后状态 lsblk dh -TH 现在磁盘总大小为30G,根分区为17G 4.进行分区扩展磁盘,记住…

CentOS7,LVM根分区扩容步骤

CentOS7,LVM根分区扩容步骤: 1.查看现有分区大小 df -TH LVM分区,磁盘总大小为20G,根分区总容量为17G 2.关机增加大小为30G(测试环境使用的Vmware Workstation) 扩展分区到30G 3.查看扩容后磁盘大小 df -TH lsblk 磁盘总大小为30G,根分区为…

CentOS7扩容根分区(LVM+非LVM)

在工作中遇到根目录容量不够,于是结合网上这篇文章,把虚拟机里扩展的十几个GB的容量扩展到根目录下 CentOS7,LVM根分区扩容步骤 1.查看现有分区大小 df -TH LVM分区,磁盘总大小为20G,根分区总容量为17G 2.关机增加大小为30G(…

Linux的buff/cache占用内存过高解决方法

最近,公司的开发服务器总是偶尔有一些java服务莫名其妙的停掉。通过排查发现是内存不足,奇怪的是,内存只是用了一半,但是可用的却只有不到1G(峰值时估计更少)。下面是具体的内存使用信息: 可以看…

5 种常见的 Linux 打包类型:tar、gzip、bzip2、zip 、 7z

在 Linux 系统中,打包和压缩文件是常见的操作。不同的打包类型适用于不同的用途和需求。本文将详细介绍 5 种常见的 Linux 打包类型,包括tar、gzip、bzip2、zip 和 7z,以及它们的特点、使用方法和适用场景。 1. tar tar(tape arc…

从小白到大神之路之学习运维第34天---第三阶段---mysql数据库之优化数据库、数据库备份、win10客户端连接

第三阶段基础 时 间:2023年6月6日 参加人:全班人员 内 容: Mysql数据库 目录 前提环境配置 优化 MySQL 数据库备份 Win10客户端连接 前提环境配置 关闭防火墙 (systemtl stop firewalld、iptables -F、setenforce 0)…

Nginx+Tomcat负载均衡,动静分离

文章目录 一.Nginx应用1.1Nginx负载均衡实现原理1.2Nginx动静分离实现原理 二.NginxTomcat负载均衡、动静分离(七层实例) 一.Nginx应用 Nginx是一款非常优秀的HTTP服务软件 支持高达50000个并发连接数的响应拥有强大的静态资源处理能力运行稳定内存、C…