HomeGitHub

Scala Log Visualizer

09 May, 2022 - 1 min

Results

Introduction

사내에서 운영중인 Web Service가 있는데 log를 수집하고 있었다. 2022년 1월 1일 부터 모아온 log 파일들을 scala-spark로 통계를 내고 이를 Visualize 해보기 위한 Personal Project이다.

Description

Scala, Spark

spark를 이용한 로그 분석에서 가장 키가 되는 코드들은 아래 코드이다. 모든 로그 파일들에서 text들을 분석 한 뒤 필터링 하고 이를 groupBymapValues + foldLeft로 count를 생성했다.

마지막에 Row로 변환을 해 준 것은 DataFrame 형태로 변환해 결과를 CSV로 만들기 위함이다.

val filteredLines: RDD[Row] = logLines.map(line => parseLog(line))
  .filter(loggerData => loggerData != null)
  .filter(loggerData => isValidLog(loggerData))
  .map((loggerData) => (loggerData.getUser(), loggerData))
  .groupBy(d => d._1)
  .mapValues(d => d.foldLeft(0)((acc, _) => acc + 1))
  .sortBy(logPair => logPair._2)
  .map(logPair => Row(logPair._1, logPair._2))

© 2023, Built with

Gatsby G Logo
Gatsby