개발/Spark

    [spark] Build step 'Execute shell' marked build as failure 권한 오류 (Permission denied)

    Jenkins에서 다음과 같이 build 전 shell 명령어를 실행시키도록 했는데, 아래와 같이 Permission denied 오류가 났다. ./파일명.sh: Permission denied Build step 'Execute shell' marked build as failure 찾아보니 권한 오류라고 하여 스크립트 파일의 권한을 확인해보았더니, 제한이 되어있었다. -> 이건 왜 랜덤하게 이렇게 되는지는 모르겠다.. 그래서 아래와 같이 권한 변경하여 해결했다. >> ll #(ls -l와 동일, 권한, 소유자, 갱신일 확인)권한 확인 후 >> chmod 777 파일명.sh # 일단 아무나 쓰고 읽을 수 있게 권한 변경 또는 스파크 옵션 변경으로 매번 권한 부여 가능 #spark 실행 옵션 변경하면 #..

    Spark 이해하기(RDD, DAG, Lazy Evaluation)

    MapReduce가 대형 데이터 분석을 쉽게 만들어주었다. 맵리듀스는 대규모의 일괄 처리에는 뛰어나지만 그러나 저지연 애플리케이션과 multi-stage한 머신러닝, 그래프와 같은 처리나 상호적이고 즉흥적인 쿼리는 해결하기가 어려웠다. 때문에 그래프 데이터 분석 엔진(pregel)인 특수 목적 분산 프레임워크가 나왔지만 뭔가 근본적인 접근 방법이 없을까? MapReduce가 학습 횟수가 많은 이유는 각 iteration을 돌때마다 스테이지간의 자료 공유가 HDFS(하둡)를 거치기 때문일거라 생각해 이를 RAM으로 해결하자는 효율적인 Data Sharing 도구를 기안해냄. 그러나 RAM은 휘발성이므로 중간에 잘못되면 날라간다. 그래서 어떻게하면 효율적인 램스토리지를 만들수있을까에 대한 고민을 하기 시작함..