
안녕하세요. 이경민입니다. 대용량 처리에 관해서 예전부터 관심이 많았는데, 압축 분야의 기본인 허프만 코딩에 대해 얕은 지식을 써볼까 합니다. 먼저 허프만 코딩을 이용한 압축의 기술적인 사항을 살펴보기 전에, 텍스트 압축이 어떻게 이루어지는지 개념적으로 살펴보도록 하죠. 텍스트 문서를 압축하기 위해서는 문서에 어떤 처리를 해주어야 할까요? 여러 가지 방법이 있겠지만, 허프만 코딩을 이용한 텍스트 압축에서는, 다음과 같은 기본 개념에 기초를 두고 있습니다. “많이 나오는(출현 빈도수가 높은) 기호에는 짧은 코드 길이를 부여한다.” 우리가 일반적으로 사용하는 아스키 코드의 경우에서는 모든 기호의 코드 길이가 8비트로 동일합니다. 아스키 코드에서 최상위 비트는 확장 문자를 나타내기 위해 사용되고, 나머지 7비..
프로그래밍 언어가 first class function을 갖는다는건,function을 value, variable과 동일하게 다룬다는 것이다. 즉 function을 함수 인자로도 넘길 수 있고, 리턴할 수 있고, 변수에 저장할 수 있을때, 그 언어는 first class function을 갖는다고 말할 수 있다. closure란 first class function을 감싸고 있는 environment를 first class function과 묶는 기법을 말하거나first class function과 environment 저장하고 있는 record를 의미한다. closure의 의미를 글로 표현하면 이해하기 어렵고 파이썬 예제를 통해 알아보도록 하자. 먼저 함수를 리턴하는 함수(higher-order fun..
Spark 프로그램을 yarn에서 돌리다보면, 종종 아래와 같은 메시지가 드라이버 프로그램 로그에 찍히면서, 이미 처리된 Task를 재시도 하다가 결국 실패하는 현상이 발생한다.15/07/30 10:18:13 ERROR cluster.YarnScheduler: Lost executor 8 on myhost1.com: remote Rpc client disassociated Yarn container에 돌고 있는 Spark Executor 로그를 살펴보면, 아래와 같이 SIGTERM 으로 인해 Executor 프로세스가 종료된 것을 확인할 수 있다. (Executor 로그 확인하는 위치는 아래를 참조)ERROR executor.CoarseGrainedExecutorBackend: RECEIVED SIGNA..