데이터 이야기
공부하고 경험한 것들 차근차근 정리하자 :)
-
[ELASTIC SEARCH] Too many open file Error & Index read-only problem
Too many open file Error 1. nofile과 fs.file-max 값을 확인하고 수정하자 2. 프로세서의 open file descriptor는 ‘lsof -p ${PID}’로 확인할 수 있다 3. 과거의 사용하지않은 index는 close 하자 상황 정리 Elasticsearch 클러스터 3대로 운영하던 중 1대가 ‘Too many open files’로 ssh 접속이 안되는 상황이 발생하였다.. 한대만.. 클러스터의 index 개수는 약...
-
[ETC] GitLab CI/CD 설정
GitLab CI/CD 구성법 이미 gitlab을 사용하고 있으며, git 서버에 gitLab-runner가 설치되어있다는 가정하에 runner 등록 및 .gitlab-ci.yml에 대한 설명 gitlab-runner 등록 .gitlab-ci.yml 정의 총 두 단계만 진행하도록 하겠음! 1. gitlab-runner 등록 $ gitlab-runner register Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/): # 위에 있는 URL Please enter the gitlab-ci token...
-
[HP-Spark] 효율적인 트랜스포메이션 : Part 3
mapPartitions로 수행한 반복자-반복자 트랜스포메이션 RDD의 mapPartitions 함수는 레코드들의 iterator를 받아 다른 iterator로 출력하는 함수를 인자로 받음 한 파티션 안의 레코드들을 순회할 수 있는 iterator를 받음 mapParitions 트랜스포메이션은 사용자가 한 파티션의 데이터를 대상으로 임의의 코드를 정의할 수 있게 해줌 filter, map, flatMap 등 의 트랜스포메이션도 mapPartitions을 써서 작성할 수 있음 mapPartitions...
-
[HP-Spark] 효율적인 트랜스포메이션 : Part 2
트랜스포메이션으로 어떤 타입의 RDD가 반환하는가 RDD는 두가지면에서 추상적인 개념 거의 모든 타입의 레코드를 가질 수 있음 ( e.g) String, Row, Tuple ) RDD 인터페이스에 다양한 속성을 추가한 여러 구현체 중의 하나가 될 수 있음 일부 트랜스포메이션은 특정한 레코드 타입을 가지는 RDD에만 적용할 수 있음 각 트랜스포메이션이 RDD의 여러 구현체 중...
-
[HP-Spark] 효율적인 트랜스포메이션 : Part 1
효율적인 트랜스포메이션 이 글에서 설명하는 트랜스포메이션은 스파크 코어에서 서용하는 RDD객체들의 것 스파크 SQL은 카탈리스트 옵티마이져를 사용하기 때문에 이 글에서 다룰 개념들이 모두 스파크 SQL에 적용되는 것이 아님 스파크의 성능의 상당 부분은 ‘트랜스포메이션’ 좁은 트랜스포메이션 VS 넓은 트랜스포메이션 2012년 스파크 평가 의미론을 다룬 논문에서의 정의 자식 RDD보다는 ‘부모 RDD의 종속성 위주’로...