본문 바로가기
반응형

전체 글146

Apache Pinot (아파치 피노) 간단한 소개. 실시간 OLAP Apache Pinot 의 아키텍처와 기능들, 그리고 테스트하면서 알게된 것들을 정리해보려 한다. (얼마만에 쓰는 블로그인가) 우선 피노의 개념을 가볍게 훑어보고 가자. 큰 개념은 다른 분산시스템과 비슷하다. (쪼개서 저장하고, 여러대가 데이터를 처리함) 공식문서 짱! https://pinot.apache.org/ Apache Pinot™: Realtime distributed OLAP datastore | Apache Pinot™Pluggable indexing Pluggable indexing technologies - Sorted Index, Bitmap Index, Inverted Index, StarTree Index, Bloom Filter, Range Index, Text Search Ind.. 2023. 4. 28.
[putty] 윈도우에서 리눅스 서버(EC2) 접속하는 방법 putty (푸티)를 사용하여 윈도우에서 리눅스 서버(EC2)에 접속하는 방법을 정리합니다. 1) putty를 다운로드 받아주세요. https://putty.softonic.kr/download 2) EC2를 생성할 때 만든 key 파일을 putty에서 사용할 수 있도록 변환해줍니다. key 파일이란 AWS 리눅스 서버에 접속할 때 사용하는 인증용 파일이다. * key파일이 있어야만 AWS 서버에 접속할 수 있으므로 보관 유의 다운로드 받은 key(pem) 파일을 ppk 형태로 변환해주는 과정입니다. putty를 설치했으면 puttygen이라는 프로그램도 같이 설치됩니다. puttygen을 실행하여 pem 파일을 load하고 ppk로 변환된 파일을 저장합니다. 3) EC2의 퍼블릭 IP 혹은 DNS로 서.. 2022. 2. 19.
Phoenix 연결방식 차이 (Thick / Thin) phoenix driver에는 크게 2가지 종류가 있다. 1. Thick 클라이언트가 zookeeper를 통해 HBase에 직접 붙는 방식이다. 클라이언트와 아래 컴포넌트 간 통신이 되어야 한다. - zookeeper (2181) - HBase master (16000) - HBase region server (16020) 2. Thin 클라이언트가 phoenix query server를 통해 phoenix에 접속하는 방식이다. phoenix query server를 별도로 구성하여 실행하여야 한다. 클라이언트는 phoenix query server(8765)와 통신만 되면 된다. 참고) python으로 phoenix에 접속하는 경우 query server를 통해 phoenix에 접속하는 python d.. 2021. 11. 19.
HBase Start Process (HBase 2.2) - Region Assign HBase Cluster 시작 과정을 정리하면서 Region 할당이 어떤 과정으로 이루어지는지 알아보고자 한다. HBase Restart시 간헐적으로 발생하는 비정상 현상 원인을 파악하고자 한다. HBase 2.2+ 변경사항 HBase 2.2+ uses a new Procedure form assiging/unassigning/moving Regions. It does not process HBase 2.1 and 2.0’s Unassign/Assign Procedure types. HBase Master 로그를 확인하며 HBase Cluster 시작 과정을 파악하였다. 1. 프로세스 시작 및 Zookeeper 연결 2. WAL 처리 Recover lease on hdfs (MasterProcWALs/7.. 2021. 9. 8.
[AWS-EMR] bootstrap 작업 bootstrap 이란 EMR 클러스터를 띄울 때 실행하는 작업이다. ex) python 패키지 설치, 포트, driver jar 다운로드 등 S3에 bootstrap용 스크립트를 업로드하여 사용하는 방식 사용 EMR 로그는 기본적으로 S3에 저장됨. bootstrap 오류시 S3에서 로그 확인할 것 2021. 9. 5.
RDS -> Spark(AWS EMR) -> Neo4jDB 0. 네트워크 구성 (VPC 생성) 탄력적 ip 생성 (public IP) VPC 생성 Subnet (Public, Private) 생성 EMR EC2 보안그룹에서 인바운드 규칙 편집 (노트북에서 EMR EC2에 접속하기 위해 필요함) 1. EMR 구성 소프트웨어 구성 hadoop, spark, zeppeplin, hue, oozie 멀티마스터 구성 멀티마스터 체크 시 알아서 zookeeper 구성될 것임 AWS Glue 데이터 카탈로그 설정 Hive metastore 기반 인스턴스 구성 마스터(NN, RM, ZK, zeppelin), 코어(DN, NM), 태스크(NM) 코어 최소 1개는 필요함. yarn 띄울 때 필요한 라이브러리를 DN에 저장해야 하기 때문임 온디맨드 유형 / 스팟 유형 소프트웨어 설.. 2021. 8. 15.
[Git] 원격저장소에 push 하기 로컬 (회사 맥북) 원격저장소 (회사 github) 1) git 사용 시작! git init 로컬에 새로운 git 저장소를 만든다. git init 2) 로컬과 원격저장소 연결 git clone 원격저장소를 로컬에 복사해온다. git clone git remote 원격저장소 설정을 확인한다. git remote -v git remote rename origin remote_1 3) 로컬 브랜치 생성 및 원격 브랜치 생성 git checkout 로컬에 브랜치를 생성하고 작업브랜치를 생성한 브랜치로 이동한다. git checkout -b feature/sunny-test git push 원격저장소에 브랜치를 생성한다. git push remote_1 feature/sunny-test git branch #현.. 2021. 7. 20.
[BFS/DFS] 4방향 탐색 # 2차원 배열 map은 모두 정수 타입 숫자들로 채워져 있다. 여기서 0은 바다를 뜻하고 0 이외의 값은 땅을 뜻한다. map에 몇 개의 섬이 있는지 반환하는 함수를 구현하라. # map = [ [ 1, 1, 0, 0, 0 ], # [ 1, 0, 0, 0, 0 ], # [ 0, 0, 0, 1, 0 ], # [ 0, 1, 0, 0, 0 ], # [ 1, 1, 1, 0, 0 ] ] # the return value should be 3 def search_bfs(i,j,map): global result #맨 처음 위치 q = [] q.append((i,j)) check[i][j] = True while q: x,y = q.pop(0) #bfs for k in range(4) : #4방향 이동 nx, ny.. 2021. 4. 5.
[브루트포스/재귀함수] N개 알파벳 중에 R개를 나열하는 경우 # N개 알파벳 중에 R개를 나열하는 경우 def permutation (cur, n, r, result): if cur >= r : print(result) return else: for i in range(n): alpha = chr(ord('a') + i) if not check[cur]: result[cur] = alpha check[cur] = True permutation(cur+1,n,r,result) # check[cur] = False result[cur] = 0 if __name__ == '__main__': n,r = map(int,input().split()) check = [False]*r result = [0]*r permutation(0,n,r,result) r중 for문 수행.. 2021. 4. 5.
반응형