일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- C언어
- 하둡2
- effective python
- 딥러닝
- recursion
- C
- scrapy
- 그래프이론
- 알고리즘
- 선형대수
- 파이썬
- RNN
- codingthematrix
- Java
- GRU
- LSTM
- collections
- 코딩더매트릭스
- hadoop2
- yarn
- NumPy
- 하이브
- graph
- Sort
- HelloWorld
- 텐서플로
- tensorflow
- hive
- python
- 주식분석
- Today
- Total
목록DataBase/Hadoop (17)
EXCELSIOR
이번 포스팅에서는 하둡2를 완전 분산 모드로 설치하면서 네임노드 HA를 구성해본다. 우선 완전분산모드로 설치하기 위해서는 최소 3대이상의 서버가 필요하다. 그 이유는 네임노드 HA 구성에 필요한 저널노드가 적어도 3대 이상의 서버에서 실행돼야 하기 때문이다. 다행히 최근에 VirtualBox에다가 CentOS 7을 설치하고 연결하는 것을 다른팀 분한테 배워서 Ubuntu 1대, CentOS 3대 총 4대의 서버를 구성했다. VirtualBox에 가상머신 설치는 다음에 포스팅 하겠다. 위 네 대의 서버는 JDK 설치, hadoop 실행 계정 생성, SSh 인증과 같은 기본적인 환경설정이 완료돼 있어야 한다. 1. 하둡 실행 계정 생성root 계정으로 하둡을 설치할 수 있지만(실은 이때까지 root계정으로 ..
아파치 타조(Apache Tajo)는 2010년 고려대학교 컴퓨터학과 데이터베이스 연구실에서 처음 시작되어 2014년 3월에 아파치 재단의 최상위 프로젝트로 승격되었다. 1. Tajo 기능아파치 타조의 기능은 다음과 같다.SQL 표준을 지원한다.성능 향상을 위해 쿼리 전체를 분산처리한다.HDFS를 기본 저장소로 사용하기 때문에 쿼리 실행 결과가 HDFS에 저장된다.Long Time Query에 해당하는 ETL 작업뿐만 아니라 Low Latency도 지원한다.사용자가 직접 함수를 정의할 수 있다.다양한 최적화를 위해 비용 기반 최적화 모델(Cost-based Optimization Model)과 확장 가능한 Rewrite Rule을 제공한다. 2. Tajo Architecture 클라이언트 : 타조는 다양..
1. SQL-On-Hadoop 이란?SQL-On-Hadoop이란 HDFS에 저장된 데이터에 대한 SQL 질의 처리를 제공하는 시스템을 의미한다. 대부분의 SQL-On-Hadoop 시스템들은 하둡1에서 제공하는 맵리듀스 아키텍처를 이용하지 않고 새로운 분산 처리 모델과 프레임워크를 기반으로 구현돼 있다. SQL-On-Hadoop에는 하이브(Hive), 타조(Tajo), 임팔라(Impala), Facebook의 프레스토(Presto) 등 다양한 SQL-On-Hadoop이 존재한다. SQL-On-Hadoop이 출시된 배경은 다음과 같다.하둡을 도입한 사용자들의 요구사항이 단순히 대용량의 데이터를 배치 처리하는 것이 아니라 높은 처리 성능과 빠른 반응속도를 요구하고 있다. 데이터 분석 과정에서 다양한 쿼리를 반..
1. MS-SQL 설정스쿱(sqoop)과 연동하기 위해서 MS-SQL SERVER 에서 설정을 몇가지 해줘야 한다. 먼저, DB에서 [보안]-[로그인]([Security]-[Logins])에 들어가서 다음과 같은 설정을 해준다.'Enforce password policy'를 체크 해제 해준다. 스쿱과 연동하기 위해 hadoop2라는 새로운 계정을 생성했다. 그런다음 [SQL Sever]-[Properties]-[Security]에 들어가서 'Login auditing'을 None으로 설정한다. 마지막으로 SQL Server에서 네트워크 프로토콜을 확인한다. 스쿱(sqoop)은 SQL Server와 연동되기 위해서 TCP/IP 프로토콜을 사용하도록 되어있다. 2. 스쿱과 MS-SQL 연동아래와 같은 명령어..
스쿱은 현재 스쿱1과 스쿱2라는 두 가지 버전이 있다. 스쿱1 스쿱2 클라이언트 모델 클라이언트/서버 모델 CLI로 스쿱 실행 CLI, 웹, RESTAPI를 통한 스쿱 실행 하둡 보안 적용 하둡 보안, 데이터베이스와 같은 외부 시스템 접근 권한 제어 가능 리소스 관리 정책 없음 리소스 관리 정책 설정 가능 두 버전의 가장 큰 차이점은 클라이언트/서버 모델의 도입니다. 스쿱1은 클라이언트마다 스쿱과 JDBC 드라이버를 설치하지만 스쿱2는 스쿱 서버에만 스쿱과 JDBC를 설치하면 된다. 이번 포스팅에서는 교재에 나와있는 대로 스쿱1을 설치해 본다. 1. 스쿱 설치 및 실행 http://mirror.apache-kr.org/sqoop/ 에서 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.ta..
스쿱(sqoop)은 관계형 데이터베이스와 하둡 사이에서 데이터 이관을 지원하는 툴이다. 스쿱을 이용하면 관계형 데이터베이스의 데이터를 HDFS, 하이브, Hbase에 임포트(import)하거나, 반대로 관계형 DB로 익스포트(export)할 수 있다. 스쿱은 클라우데라에서 개발했으며, 현재 아파치 오픈소스 프로젝트로 공개되어 있다. 1. 스쿱 아키텍처스쿱은 관계형 DB를 읽고 쓸 수 있는 커넥터라는 개념을 사용한다. 커넥터는 각 DB별로 구현돼 있으며, JDBC 드라이버를 이용해 데이터베이스 접속 및 쿼리 실행을 요청한다. 1) 데이터 임포트 동작 방식 클라이언트가 스쿱에 임포트를 요청. 클라이언트는 데이터베이스 접속 정보, 임포트 대상 테이블, 임포트 질의, 실행할 맵 태스크 개수등을 설정스쿱은 데이터..
하이브는 효율적인 쿼리문 수행을 위해 버킷이라는 데이터 모델을 제공한다. 버킷은 버킷 칼럼 해시를 기준으로 데이터를 지정된 개수의 파일로 분리해서 저장한다. 버킷은 테이블을 생성할 때 다음과 같은 형태로 선언한다. CLUSTERED BY (칼럼) INTO 버킷 개수 BUCKETS; 버킷을 사용하면 쿼리의 성능을 향상시킬 수 있다. 예를 들어, 조인키로 버킷을 생성해두면 생성된 버킷 중 필요한 버킷만 조회하면 되기 때문에 디렉터리 전체를 풀스캔하는 것보다 훨씬 빠르게 작업을 처리할 수 있다. 또한 버킷을 이용하면 데이터 샘플링을 이용한 다양한 쿼리를 수행할 수 있다. 그럼 이제 실제 버킷을 생성해보도록 하자. 다음의 테이블 생성은 UniqueCarrier 칼럼을 대상으로 20개의 버킷을 생성한다. hive..
맵리듀스로 조인을 구현하려면 몇십 줄의 클래스를 작성해야하지만, 하이브를 이용하면 쿼리문을 통해 간단하게 조인을 할 수 있다.단, 다음의 제약사항이 있다.하이브는 EQ조인만 지원한다. EQ조인은 두 테이블 대상으로 동일성을 비교한 후, 그 결과를 기준으로 조인하는 것이다. 이 조인에서는 조인 서술자로 등호(=)만 사용할 수 있다.하이브는 FROM 절에 테이블 하나만 지정할 수 있고, ON 키워드를 사용해 조인을 처리해야 한다.이번 포스팅에서는 교재에 나와있는대로 하이브의 조인 기능을 사용해 항공 운항 지연 데이터와 항공사 코드 테이블을 조인해 볼 것이다. 먼저, 항공사 코드 데이터를 저장하기 위한 테이블을 생성한다. (항공사 코드 데이터는 http://stat-computing.org/dataexpo/2..