728x90
반응형

오류

error: scala.reflect.internal.MissingRequirementError: object java.lang.Object in compiler mirror not found.

 

원인

scala 2.11  버전과 java SDK 버전이 맞지 않아 발생하는 오류

 

해결방법

scala 버전에 맞게 java SDK를 8 버전으로 바꾼다.

나의 경우 9버전이었다.

728x90
반응형
728x90
반응형

에러 메시지

Caused by: java.lang.AssertionError: assertion failed: Concurrent update to the commit log. Multiple streaming jobs detected for

 

원인

로그에 동시 업데이트 하기 때문에 발생

 

스파크 스트리밍에서 동일한 체크포인트 위치에 두 개 이상의 다른 스파크 작업이 업데이트 하려 할 때 발생한다.

이 때 스파크 설정의 checkpointLocation을 다른 위치로 사용하면 해결할 수 있다.

 

두 개의 다른 스파크 스트리밍 작업에서 checkpoint 위치를 다르게 한다.

      .option("checkpointLocation", checkpointPath1)
      .option("checkpointLocation", checkpointPath2)
728x90
반응형
728x90
반응형

Thread 몇개로 돌리는 애플리케이션이 있다.

어떤 thread가 어떤 작업을 하는지 알고싶었다. 그래서 thread id 찍어보고 싶은데 어떻게 찍는지 몰라서 찾아봄

val threadId = Thread.currentThread.getId

 

생각보다 많이 간단...!

728x90
반응형
728x90
반응형

문자열 split 방법

val s = "aa bb cc"
val splited = s.split(" ")


일반적인 split은 위와 같이 하면 된다.


dot(.)이 포함된 문자열을 split 하려고 했는데 안된다.
아래와 같이 하면 된다.

val s = "aa.bb.cc"
val splited = s.split("\\.")



dot(.)은 자바 정규식 예약어이기 때문에 \(back slash)가 필요한데 \ 자체도 예약어이기 때문에 \\ 두번 붙여야 한다.

728x90
반응형
728x90
반응형

개발 테스트를 하다가 

카프카로부터 메시지를 컨슈밍하는 애플리케이션을 종료했는데도 계속 컨슈밍하는 현상이 발생했다.

제대로 종료되지 않아 유령처럼 떠돌아 다녔던 것..

(intellij에서 실행하는 프로그램 또는 자바 기반 프로세스는 프로세스명이 "java.exe"d이다)

 

그 외에 메모리를 많이 잡아먹는 백그라운드 프로세스를 확인하거나 종료하기 위해 실행중인 프로그램을 확인하는 명령어를 공유해보려고 한다.

 

tasklist

현재 실행중인 백그라운드 프로세스 확인

 

taskkill

현재 실행중인 백그라운드 프로세스 중지

- 프로세스 파일명으로 중지

    > taskkill /f /im [프로세스명]

 

cmd 를 실행하여 위 명령어를 통해 확인하고 중지할 수 있다.

728x90
반응형
728x90
반응형

변수 이름이 'type' 이어야 하는 경우가 생겼다.

Json 파싱 해야하는데 key 이름이 'type'이다. 난감..

스칼라는 대소문자를 구분하니 'type'의 t라도 대문자였으면 문제가 없는데...

알아보니 backticks(`) 를 쓰면 된다!

 

아래와 같이 사용하면 된다는 것!

var `type` = 10


case class Policy (
		Name:		String,
                `type`: 	String,
                Versions: 	Int )
728x90
반응형

+ Recent posts