본문 바로가기

빅데이터/그 외

(5)
kerberos 예제 커버로스 프로토콜은 principal과 keytab을 이용해 계정을 인증 받은 후 커버로스 티켓을 이용해 서비스 이용 커버로스는 AS, TGS로 구성 kinit : 커버로스 적용된 시스템 로그인 사용명령어 principal : kdc가 인증하는 사용자 및 서버 realm : 네트워크 단위 server-client 집합 / domain이름으로 구분 keytab : principal대한 정보와, 그에 대한 키 값 저장 파일. ticket : 사용자에 대한 인증 확인 위한 토큰 kadmin.local(kadmin) : 커버로스 서버에서 실행할 수 있는 관리자프로그램 klist : 티켓목록 확인(expire, principal...) listprincs : 키탭 확인 get_poilcy default : 비밀번..
[빅데이터] LOCK & Sqoop 이슈 - ORA-01555 LOCK 종류(기본 개념) Shared lock (공유 잠금, Read lock) 어떤 트랜잭션에서 데이터를 읽고자 할 때 다른 shared lock은 허용이 되지만 exclusive lock은 불가하다. 리소스를 다른 사용자가 동시에 읽을 수 있게 하되 변경은 불가하게 하는 것이다. - 어떤 자원에 shared lock이 동시에 여러개 적용될 수 있다. - 어떤 자원에 shared lock이 하나라도 걸려있으면 exclusive lock을 걸 수 없다. Exclusive lock (배타적 잠금, Write lock) 어떤 트랜잭션에서 데이터를 변경하고자 할 때 해당 트랜잭션이 완료될 때까지 해당 테이블 혹은 레코드(row)를 다른 트랜잭션에서 읽거나 쓰지 못하게 하기 위해 Exclusive lock을 ..
[빅데이터] Impala & Hive & Sqoop 겪은 이슈들 (1) 이슈1 Impala는 쿼리를 빠르게 수행하기 위해서 Hive 테이블의 메타데이터의 카피를 캐시로 가지고 있는 구조. 그렇기 때문에 hive에서 변경사항 있으면 sync를 맞춰주어야한다. Refresh vs Invalidate Refresh: 다시 로드하지만 hdfs block 상에서 증분된 만큼만의 데이터를 로드한다 Invalidate : 기존의 캐시를 모두 지우고 새로운 메타데이터 가져오기 때문에 리소스 소모 크다. 특히 파티션이 많은 큰 테이블일 때 비싼 작업. 테이블 생성/삭제할 때 필요 이슈2 sqoop export 시 --num-mappers 통해 병렬 처리 작업 시 각 매퍼가 db connection을 맺게 된다. 그리고 각각 commit을 하기 때문에 하나의 작업이 마치고 commit하면 다..
[빅데이터] Impala & Hive & Sqoop HIVE 아키텍처 https://wonyong-jang.github.io/hadoop/2021/05/26/Hadoop-Apache-Hive.html Impala 원리 Impala는 크게 Impalad(daemon)과 statestore로 이루어져있다. Hive는 MapReduce 엔진을 사용하는 반면에 Impala는 응답 시간을 최소한으로 줄이기 위해 자체 분산 질의엔진을 사용한다. 이 분산 질의 엔진은 클러스터 내 모든 데이터 노드에 설치되어 있다. Impalad 구성 Query Planner : Query를 구문 분석하고, 메타스토어의 Table 및 Partition 정보를 활용하여 실행플랜을 생성합니다. Query Coordinator : 다른 node에 요청 보내고, 요청 수집 Query Exec..
[빅데이터] 빅데이터 데이터 파일 포맷 Parquet Avro ORC 모두 바이너리 형태이다 1. Parquet - 칼럼 중심의 데이터 파일 형식이라 칼럼 단위로 압축하기 때문에 압축률이 높아진다. - 일부 칼럼 선택해서 가져가면 I/O가 많이 줄어든다. 따라서 읽기가 많은 테이블에 적합하다. 2. Avro - row 기반으로, 데이터 스키마는 json이지만 데이터는 바이너리로 저장된다. 스키마가 json이기 때문에 사람이 읽을 수 있다. - 데이터 직렬화 기능을 제공한다(Kafka, Nifi에서 많이 사용된다). CSV, XML, JSON 형식은 사람이 읽기는 쉽지만, 데이터 공간 효율성 및 파싱하는데 시간이 오래걸려서 Avro가 효과적이다. * 직렬화란 자바 시스템 내에서 사용하는 객체 혹은 데이터를 자바시스템 외에서도 사용할 수 있도록 ..