BigData66 Spark App 수행시 memory 이슈 Spark App 을 수행할 때 종종 아래와 같이 memory 할당 실패로 오류가 발생한다. 실제 장비에서 memory를 할당하지 못한 경우인 것 같은데. 정확한 원인은 알 수가 없다. 일단 로그를 열어보자... 로그파일의 제일 하단에 보면 아래와 같이 나와있다. swap 영역의 free 공간은 0k로 존재하지 않으며, 실제적인 물리 메모리도 28236k로 약 28MB정도만 남아있다. Spark App 수행시 기본적으로 jvm_opts 정보를 환경변수로 사용되는데. 로그 중간 부분을 확인해보면 아래와 같이 수행됨을 확인 할 수 있다. Perm 영역이 128MB이고, xms 가 512MB로 수행된다. 다시 Spark App 수행시 console 로그를 확인해보자. 약 340MB 를 할당하지 못해 오류가 발.. 2015. 5. 22. Spark로 WordCount 구현하기. #2 #1 을 해봤다면, 조금 불편함을 느꼈을 것이다. 분석 대상 파일과 output 경로를 모두 code에 포함되어 있기 때문이다. 그렇다면 이런 값들을 파라메터로 받아서 처리할 순 없을까? spark-submit으로 수행시에는 AppClass 내에 파라메터를 전달할 방법이 마땅치 않다. http://coe4bd.github.io/HadoopHowTo/sparkJava/sparkJava.html 위 블로그를 참고하여 진행해보자. 우선 아래와 같이 Argument를 파싱하는 Enum을 생성해 보았다. public static void main(String[] args) throws Exception { if (ArrayUtils.getLength(args) > 4) { LOGGER.debug(""); LOGG.. 2015. 5. 21. Spark로 WordCount 구현하기. #1 WordCount 로직을 구현해보자. Java로 구현하더라도 함수형 언어 코딩 개념이 필요하다.(java8을 경험해봤다면 좀 더 쉽게 이해할 수 있을 것이다.) public void executeSparkTask(String sourceFilePath, String outputFilePath) throws Exception { SparkConf conf = new SparkConf() .setAppName("SampleApp") .setMaster("yarn-cluster") .setExecutorEnv("cores", "1") ; JavaSparkContext javaSparkContext = new JavaSparkContext(conf); try { JavaRDD logData = javaSpark.. 2015. 5. 21. HDFS 내에 여러 파일을 하나의 파일로 합쳐보기 Hadoop ecosystem을 사용하다 보면 output 디렉토리에 여러 파일이 생기는 경우가 있다. 보통 output 파일은 하나로 나와야 하나, 병렬처리를 하다보면 병목현상을 줄이기 위해 output 파일을 여러개로 만들기도 하는데. 최종 처리를 하기 위해 하나의 파일로 합치는 게 필요할 수도 있다. HDFS에서 파일을 합치는 것은 어떻게 할 수 있을까? HDFS FileSystemShell 가이드에 보면 getmerge라는 command가 존재한다. http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/FileSystemShell.html getmerge Usage: hadoop fs -getmerge [addnl] Tak.. 2015. 5. 21. 이전 1 ··· 8 9 10 11 12 13 14 ··· 17 다음