Apache Spark를 사용하여 로그 데이터 분석을 구축하는 방법은 무엇입니까?

3375 단어
이 블로그에서는 Spark에서 로그 데이터를 처리하는 방법을 살펴보겠습니다. 먼저 로그 구조를 이해하고 로그 패턴과 일치하는 정규식을 작성한 다음 값을 추출하고 로그 데이터에 some data analytics services을 수행합시다.

먼저 우리가 처리할 로그 데이터가 어떻게 생겼는지 알아보고 이해해 보자.

샘플 로그 데이터:




83.149.9.216 - - [17/May/2015:10:05:03 +0000] "GET 

/presentations/logstash-monitorama-2013/images/kibana-search.png 

HTTP/1.1" 200 203023 

"http://semicomplete.com/presentations/logstash-monitorama-2013/" 

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36"

이제 이것을 깨고log data 각각이 무엇을 나타내는지 이해해 보겠습니다.


83.149.9.216 – IPAddress
-            - ClientId
-            - userId
[17/May/2015:10:05:03 +0000] – dateTime
GET – Method
/presentations/logstash-monitorama-2013/images/kibana-search.png 
– endpoint
HTTP/1.1 – protocol
200 – responseCode
203023 – contentSize
"http://semicomplete.com/presentations/logstash-monitorama-2013/" – URL
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 

(KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36" – browser

이제 Apache Spark Databricks 환경을 사용하여 이 로그 데이터를 처리하는 코드를 작성해 보겠습니다.

아래 위치에 로그 파일이 있습니다.

이제 Spark를 사용하여 이 로그 데이터의 몇 줄을 읽고 어떻게 보이는지 살펴보겠습니다.

closest garage to me
이제 로그에 있는 모든 필드를 포함하는 사례 클래스를 작성하고 나중에 create RDD of type Access Log 됩니다.

이제 아래와 같은 정규 표현식을 사용하여 로그 데이터와 일치하는 패턴을 생성해 보겠습니다.


이제 로그 데이터를 파싱하고 RDD를 생성하는 데 사용할 수 있는 케이스 클래스의 객체를 생성하는 Scala 함수를 작성해 보겠습니다.


이제 이 로그 데이터를 읽고 구문 분석하여 RDD[AccessLog]를 생성해 보겠습니다.


이제 카운트가 내림차순인 상위 10개의 응답 코드를 찾아보겠습니다.

좋은 웹페이지 즐겨찾기