Big Data 18

Apache Kudu

Kudu 란? Hadoop Platform 용으로 개발 된 Columnar Storage Kudu 의 특징 OLAP 의 workload 를 빠르게 처리 MapReduce, Spark 등 Hadoop Ecosystem 과 통합 Impala 와 통합 강력하고 유연한 일관성 모델 제공 Sequential/Random Access 를 동시에 처리 운영 편의성 고가용성 제공 정형 데이터 모델 Kudu 를 활용하기 적합한 Application Reporting Application Time-serise Application Predictive-model Application Kudu-Impala 통합 Impala 를 이용하여 kudu 를 SQL 로 질의할 수 있음 CREATE/ALERT/DROP INSERT/UPD..

Big Data 2020.03.30

Data Lake

Data Lake 정의 자연/원시 포맷 형태로 저장된 데이터의 시스템 또는 저장소 원시 데이터와 변환된 데이터를 포함한 기업의 모든 데이터를 저장하는 단일 저장소 (출처 : https://en.wikipedia.org/wiki/Data_lake) Data Lake 는 한 마디로 자연/원시 포맷 형태를 저장하는 단일 저장소 라고 할 수 있습니다. Data Lake 의 특징 Data Lake 는 아래와 같이 몇 가지 특징들이 있습니다. 다양한 형태(Format) 지원(정형/반정형/비정형/바이너리 데이터) Sacle-out 구조를 통한 대용량 데이터 저장 데이터 추출과 탐색 Data Lake 설계 시, 데이터 추출과 탐색 등 데이터 관리 측면 을 고려하지 않는다면 데이터 늪(Data Swamp) 이 될 가능성..

Big Data 2020.03.25

Phoenix - 설치

Phoenix 는 NoSQL 데이터베이스인 HBase 를 관계 데이터베이스 처럼 사용할 수 있게 하는 오픈소스입니다.표준 SQL, JDBC API, ACID 트랜잭션등을 제공합니다. 그럼 설치 방법에 대해 알아보겠습니다. (HBase는 stand-alone 또는 distrbuted 모드로 설치가 완료된 상태라고 가정합니다.)설치1. 먼저 phoenix 바이너리 버전을 다운로드 받습니다.(hbase 버전과 호환되는 버전을 받아야 합니다.) $ wget http://mirror.apache-kr.org/phoenix/apache-phoenix-4.8.0-HBase-1.1/bin/apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz 2. 다운로드 파일의 압축을 해제합니다. $ tar zx..

Phoenix Query Server

Phoenix Query Server(PQS) 는 Phoenix 와 HBase 간의 통신을 위한 또 하나의 방법입니다. (기존 : phoenix thick client) Phoenix 는 버전 4.4 부터 thin 클라이언트와 stand-alone 서버를 도입하였습니다. PQS 는 클라이언트를 위해 phoenix 커넥션을 관리하는 Java 서버이며, 클라이언트는 최소한의 dependency 만을 가지고 구현된 JDBC driver 입니다.PQS 는 JDBC(Client)-Http(Server) 구조의 데이터베이스 드라이버를 구현하기 위한 프레임워크인 Avatica 를 기반으로 구현되어있기 때문에 Avatica 와 마찬가지로 두 가지 형태의 전송 메커니즘을 제공합니다.JSONProtocal Buffers(..

HDP 2.4 에서 phoenix 4.4 에서 4.8 버전으로 업그레이드 하기

1. Phoenix 의 4.8 버전을 다운로드 하고 압축을 풀어줍니다. $ wget http://mirror.navercorp.com/apache/phoenix/apache-phoenix-4.8.0-HBase-1.1/bin/apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz$ tar zxvf apache-phoenix-4.8.0-HBase-1.1-bin.tar.gz 2. 기존 ambari 를 통해 설치한 4.4 버전의 라이브러리 파일들과 실행 파일들 백업하고, 기존 심볼릭 링크 파일들을 제거합니다. # 라이브러리 파일 백업$ cd /usr/hdp/current/phoenix-server$ mv phoenix-4.4.0.2.3.2.0-2950-client.jar phoenix-4.4..

HDFS - Under Replicated Blocks 해결 방법

HDFS 의 Datanode 가 dfs.replication 속성보다 적은 수 만큼 설치/실행 되어 있으면 Under Repicated Block 들이 발생합니다.Under Replicated Block 을 없애기 위해 dfs.replication 을 설치 된 Datanode 수 만큼로 변경하고 HDFS 를 재시작 하더라도 이 숫자들은 줄어들지 않습니다. 아마, 이 설정이 바뀐다 하더라도 기존 파일들은 기존에 설정된 replication 만큼을 그대로 유지하고 새롭게 생성되는 파일에 대해서만 변경된 replication 수 만큼 block 을 복제하는 듯 합니다. 이러한 경우 기존 파일들의 replication 정보를 강제로 변경하여 Under Replicated Block 을 없앨 수 있습니다. $ s..

Big Data/HDFS 2016.08.18

Phoenix - Joins (조인)

Phoenix 는 표준 SQL 조인 문법을 조인합니다. 아래와 같이 3개의 거래 관련 테이블과 row들이 있다고 가정해보겠습니다.(Orders, Customers, Items) Orders 테이블 :OrderIDCustomerIDItemIDQuantityDate1630781 C004 I001 650 09-01-20131630782 C003 I006 2500 09-02-20131630783 C002 I002 340 09-03-20131630784 C004 I006 1260 09-04-20131630785 C005 I003 1500 09-05-2013 Customers 테이블 :CustomerIDCustomerNameCountryC001 Telefunken GermanyC002 Logica BelgiumC0..

Phoenix - Row timestamp

Phoenix v4.6 부터는 phoenix 컬럼에 HBase 의 native row timestamp 를 맵핑할 수 있는 방법을 제공합니다. 이는 HBase 에서 제공하는 시간 범위에 대한 다양한 최적화의 이점을 얻을 수 있습니다. ROW_TIMESTAMP 로 설계된 컬럼은 특정 제약을 가지게 됩니다. TIME, DATE, TIMESTAMP, UNSIGNED_LONG 타입의 primary key 컬럼만 ROW_TIMESTAMP 로 사용 가능하나의 primary key 컬럼만 ROW_TIMESTAMP 로 사용 가능컬럼의 값은 null 이 될 수 없음 (HBase 의 row timestamp 와 직접 맵핑되기 때문에)테이블을 생성할 때만 선언 가능ROW_TIMESTAMP 컬럼의 값은 음수는 불가 (epoc..

Phoenix - Paged Queries (페이징 쿼리)

Phoenix 에서 페이징 쿼리를 사용하기 위해서는 아래 두 가지를 방법을 이용하여 처리할 수 있다.Row Value Contructors (RVC)OFFSET 과 LIMIT (4.8 버전 이상부터 지원)Row Value Constructors (RVC) 를 이용한 방법OFFSET (LIMIT) 은 익숙한 개념이나 Row Value Constructors 는 좀 생소하다.RVC 는 괄호에 묶여있는 컬럼들을 순차적으로 정렬된 새로운 값을 만들어 낸다고 보면 된다. 아래 예를 들어 보자. 1WHERE (last_name,first_name) = ('Jane','Doe')cs last_name, first_name 을 RVC 로 정의하고, 조건으로 ‘Jane’ 과 ‘Doe’ 로 묶었다. 위 절을 다시 풀어보면..