빅데이터분산컴퓨팅-5-수정

Similar documents
빅데이터 분산 컴퓨팅 -6

MySQL-.. 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - 10Àå.ppt

쉽게 풀어쓴 C 프로그래밊

5장 SQL 언어 Part II

문서 템플릿

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Microsoft PowerPoint Python-DB

TITLE

Lec. 2: MySQL and RMySQL

슬라이드 1

RUCK2015_Gruter_public

Spring Boot/JDBC JdbcTemplate/CRUD 예제

MySQL-Ch10

Altibase Starting User's Manual

PowerPoint 프레젠테이션

DBMS & SQL Server Installation Database Laboratory

윈도우시스템프로그래밍

윈도우시스템프로그래밍

SQL

PowerPoint Presentation

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

-->> 바로위의예제와같은내용이지맊이런식으로해도된다 -->> 삽입한데이터확인 위에대한모든 INSERT 구문에는 'customerid' 에대한값이없다, 'customerid' 는 <customer> 테이블에기본키였으므로이상하게이상하게생각될지도모르겠지맊앞선에서테이블을설정할

Microsoft PowerPoint - 8주차.pptx

슬라이드 1

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

JDBC 소개및설치 Database Laboratory

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

PowerPoint 프레젠테이션

PowerPoint Presentation

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

강의 개요

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

MySQL-Ch05

SKINFOSEC-CHR-028-ASP Mssql Cookie Sql Injection Tool 분석 보고서.doc

DocsPin_Korean.pages

단계

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

강의 개요

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

슬라이드 1

빅데이터처리의핵심인 Hadoop 을오라클은어떻게지원하나요? Oracle Big Data Appliance Solution 01 빅데이터처리를위한전문솔루션이 Oracle Big Data Appliance 군요. Oracle Big Data Appliance 와함께라면더이

untitled

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

ucloud daisy 서비스가이드 1 / 23

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

PowerPoint 프레젠테이션

준비사항 } 실습조건 } MS-SQL Server 에연결가능한컴퓨터 } 실습용서버혹은별도의 MS-SQL 서버 } Northwind 데이터베이스 } MS-SQL 2000 에제공되는예제데이터베이스 } MS-SQL 2008 에는 Northwind 가기본으로제공되지않기때문에실

6장. SQL

1217 WebTrafMon II

슬라이드 제목 없음

PlatformDay2009-Hadoop_OSBI-YoungwooKim

CONTENTS Volume 테마 즐겨찾기 빅데이터의 현주소 진일보하는 공개 기술, 빅데이터 새 시대를 열다 12 테마 활동 빅데이터 플랫폼 기술의 현황 빅데이터, 하둡 품고 병렬처리 가속화 16 테마 더하기 국내 빅데이터 산 학 연 관

슬라이드 1

Discrete Mathematics

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

PowerPoint 프레젠테이션

Tablespace On-Offline 테이블스페이스 온라인/오프라인

DB진흥원 BIG DATA 전문가로 가는 길 발표자료.pptx

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

CH04) 쿼리 (Query) 데이터베이스일반 1- 쿼리 (Query) 1) 쿼리의개념 테이블의데이터에서사용자가원하는조건에의해필드를추출하거나레코드를추출할수있는개체로즉, 여러가지방법으로데이터를보고, 변경하고, 분석할수있음 쿼리를폼, 보고서, 데이터액세스페이지등의레코드원본

PowerPoint 프레젠테이션

JMP_guide.pdf

PowerPoint 프레젠테이션

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

PowerPoint 프레젠테이션

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

Microsoft Word - php12.doc

테이블 데이터 처리용 command line tool들

Cache_cny.ppt [읽기 전용]

Microsoft PowerPoint 통신 및 압축 명령어.ppt

Microsoft PowerPoint - comp_prac_081223_2.pptx

Microsoft PowerPoint - 03_DB Migration 방법론 및 툴 사용법-인쇄.ppt

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

1~10

Microsoft PowerPoint - 27.pptx

PowerPoint 프레젠테이션

Basic Template

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

Discrete Mathematics

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint Presentation

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

개발문서 Oracle - Clob

PowerPoint Template

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

1 데이터베이스 2 MySQL 설치 3 기초 SQL 4 고급 SQL 유용한함수들 JOIN inseog Kim Dep. of Applied Statistics, Dongguk통계데이터베이스 University jinseog.kim gma

PHP & ASP

PowerPoint 프레젠테이션

들어가는글 2012년 IT 분야에서최고의관심사는아마도빅데이터일것이다. 관계형데이터진영을대표하는오라클은 2011년 10월개최된 오라클오픈월드 2011 에서오라클빅데이터어플라이언스 (Oracle Big Data Appliance, 이하 BDA) 를출시한다고발표하였다. 이와

歯sql_tuning2

Microsoft Word - SQL튜닝_실습교재_.doc

PowerPoint 프레젠테이션

ETL_project_best_practice1.ppt

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Transcription:

Apache Hive 빅데이터분산컴퓨팅 박영택

Apache Hive 개요 Apache Hive 는 MapReduce 기반의 High-level abstraction HiveQL은 SQL-like 언어를사용 Hadoop 클러스터에서 MapReduce 잡을생성함 Facebook 에서데이터웨어하우스를위해개발되었음 현재는오픈소스인 Apache 프로젝트

Hive 유저를위한 High-Level 개요 Hive 는 Client Machine 에서동작 HiveQL 질의문을 MapReduce job 으로변환 jobs 을클러스터에등록

Hive 를왜사용하는가? MapReduce 를직접작성하는것보다좀더생산적임 Java 로 100 라인작성해야할것을 5 라인의 HiveQL 로구현가능 폭넓은사용자에게대용량데이터를분석할수있는기회제공 소프트웨어개발경험이필요없음 기존 SQL 지식을가진사용자가사용가능 다른시스템과의상호운용성제공 Java 나외부 Scripts 를통해확장가능 많은 Business Intelligence(BI) 툴들이 Hive 를지원함

어떻게 Hive 에서데이터를 Load, Store 하는가? Hive 는데이터포멧과위치를가지고있는 metasotre 를가지고있음 질의문자체는파일시스템 (HDFS) 에저장되어있는데이터에게질의함

Hive 와 Relational Database 와의차이점 Hive 는데이터포멧과위치를가지고있는 metasotre 를가지고있음 질의문자체는파일시스템 (HDFS) 에저장되어있는데이터에게질의함

Hive shell 사용법 Hive shell 에서 HiveQL 문장을실행시킬수있음 MySQL Shell 의 interactive tool 과유사 hive 명령어로 Hive shell 을실행 Hive shell 은 hive> 프롬프트로표현됨 각각의명령어는세미콜론으로문장을끝냄 quit 를사용하여 Hive shell 을빠져나옴

Command Line 으로 Hive 접근방법 HiveQL 코드가들어있는파일을 f 옵션으로실행가능 -e 옵션을통해직접적인 HiveQL 실행가능

Hive 의 Databases 와 Tables 접근방법 현재 Hive 에어떠한 databases 가있는가? USE 명령어를통하여현재사용할 database 변경

Hive 의 Databases 와 Tables 접근방법 ( 계속 ) 현재 database 안에있는 tables 들은어떤것이있는가? databases 에서지정한 table 을포함하고있는 databases 는?

Hive 의 Databases 와 Tables 접근방법 ( 계속 ) table 의기본구조를보기위한 DESCRIBE 명령 좀더세부적인정보를보기위한 DESCRIBE FORMATTED 명령어

Hive 에서 Databases 생성 새로운 database 생성 기존의 database 가있는지를체크하면서 database 생성

Hive 에서 Table 생성 Table 을생성하기위한기본 syntax 기본적으로 HDFS 의 /user/hive/warehouse 경로에생성 위의경로는 Hive 의 warehouse 디렉토리

Hive 에서 Table 생성 ( 계속 ) 테이블의이름을지정하고 column 의이름과 datatype 을지정

Hive 에서 Table 생성 ( 계속 ) 이명령어는파일의각필드가어떤 character 로구분되어있다는것을말해준다.

Hive 에서 Table 생성 ( 계속 ) 예를들면 tab-delimited 데이터라고하면 FIELDS TERMINATED BY \t 로적으면된다.

Hive 에서 Table 생성 ( 계속 ) 마지막으로파일의포멧을지정할수있다. STORED AS TEXTFILE 이 default 이며, 지정하지않을경우 text format 이다.

Table 생성예제 아래의예제는 jobs 이름의 Table 을생성하는예제 데이터는 text 포멧이며하나의 line 에는 comma-separated 형태의 4 개 fields 를가지고있음. 위의 Table 과일치하는 record 의예제

MySQL 의데이터를 HDFS 로가져오기 MYSQL 테이블을 HDFS 를거쳐 Hive 테이블로가져오기 HDFS Hive DATABASE Table Sqoop MYSQL DATABASE Table

MySQL 의데이터를 HDFS 로가져오기 MySQL 에로그온 $ mysql -user=root -password=cloudera 데이터베이스목록확인 mysql> show databases; 데이터베이스선택 mysql> use retail_db; 테이블목록확인 mysql> show tables;

MySQL 의데이터를 HDFS 로가져오기 categories 테이블의내용확인 mysql> SELECT * FROM categories LIMIT ;

MySQL 의데이터를 HDFS 로가져오기 테이블 categories 를 HDFS 로가져오기 $ sqoop import \ --connect jdbc:mysql://localhost/retail_db \ --table categories --fields-terminated-by \t \ --username root --password cloudera

MySQL 의데이터를 HDFS 로가져오기 명령어가정상적으로동작했는지확인 $ hadoop fs -ls categories $ hadoop fs -tail categories/part-m-00000

Hive 데이터베이스생성 테이블을생성하기위한 Hive 의데이터베이스생성 hive> create database hdfs_retail_db; 생성한데이터베이스선택 hive> use hdfs_retail_db;

Hive 테이블생성 테이블생성 hive> CREATE TABLE categories 테이블명 칼럼명 칼럼의데이터타입 (category_id INT, category_department_id INT, category_name STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t ; 불러올파일의각라인을하나의레코드로구분 불러올레코드를 tab 으로구분하여칼럼에저장

Hive 테이블에데이터불러오기및확인 hive> LOAD DATA INPATH categories INTO TABLE categories; hive> SELECT * FROM categories LIMIT 10;

MySQL 의데이터를직접 Hive 로가져오기 MYSQL 테이블을 HDFS 를거치지않고직접 Hive 테이블로가져오기 HDFS Hive DATABASE Table Sqoop MYSQL DATABASE Table

MySQL 의데이터를직접 Hive 로가져오기 새로운 Hive 의데이터베이스생성 hive> create database hive_retail_db; 생성한데이터베이스선택 hive> use hive_retail_db;

MySQL 의데이터를 Hive 로가져오기 HDFS 의기존디렉토리를삭제 $ hadoop fs rm r categories MySQL 의 categories 테이블을 Hive 의 hive_retail_db 로가져오기 $ sqoop import --connect jdbc:mysql://localhost/retail_db \ --username root \ --password cloudera \ --table categories \ --hive-database hive_retail_db \ --hive-import

MySQL 의데이터를 Hive 로가져오기 Hive 로가져온테이블의내용확인 hive> SELECT * FROM categories LIMIT 10;

Hive 의기본명령어 LIMIT 은질의문결과의레코드수를제한 hive> SELECT customer_fname, customer_lname FROM customers LIMIT 10; ORDER BY 는질의문결과를특정칼럼을기준으로정렬 hive> SELECT customer_id, customer_fname FROM customers ORDER By customer_id DESC LIMIT 10; WHERE 는특정칼럼값에조건을설정 hive> SELECT * FROM orders WHERE order_id=1287; hive> SELECT * FROM customers WHERE customer_state IN ( CA, OR, WA, NV, AZ );

예제실행을위한테이블가져오기 Hive 로가져올 MySQL 의테이블내용확인 mysql> SELECT * FROM customers LIMIT 5; mysql> SELECT * FROM orders LIMIT 5;

예제실행을위한테이블가져오기 retail_db 의 customers 테이블을 Hive 로가져오기 $ sqoop import --connect jdbc:mysql://localhost/retail_db \ --username root \ --password cloudera \ --table customers \ --hive-database hive_retail_db \ --hive-import retail_db 의 orders 테이블을 Hive 로가져오기 $ sqoop import --connect jdbc:mysql://localhost/retail_db \ --username root \ --password cloudera \ --table orders \ --hive-database hive_retail_db \ --hive-import

예제실행을위한테이블가져오기 retail_db 의 products 테이블을 Hive 로가져오기 $ sqoop import --connect jdbc:mysql://localhost/retail_db \ --username root \ --password cloudera \ --table products \ --hive-database hive_retail_db \ --hive-import retail_db 의 departments 테이블을 Hive 로가져오기 $ sqoop import --connect jdbc:mysql://localhost/retail_db \ --username root \ --password cloudera \ --table departments \ --hive-database hive_retail_db \ --hive-import

예제실행을위한테이블가져오기 Hive shell 에접속 $ hive 데이터베이스선택 hive> use hive_retail_db; Sqoop 으로가져온 2 개의테이블 (customers, orders) 확인 hive> show tables;

예제실행을위한테이블가져오기 테이블의스키마확인 hive> DESCRIBE customers; hive> DESCRIBE orders;

예제실행을위한테이블가져오기 customers 테이블의레코드수확인 hive> SELECT COUNT(*) FROM customers;

예제실행을위한테이블가져오기 orders 테이블의레코드수확인 hive> SELECT COUNT(*) FROM orders;

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력 hive> SELECT customer_city, COUNT(*) as num FROM customers GROUP BY customer_city [ 질의결과 ] ORDER BY num DESC LIMIT 10; 고객의도시를기준으로그룹화된결과의레코드수를계산

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력 hive> SELECT customer_city, COUNT(*) as num FROM customers GROUP BY customer_city [ 질의결과 ] ORDER BY num DESC 쿼리문내에서 alias 를지정하기위해 as 를사용 LIMIT 10;

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력 hive> SELECT customer_city, COUNT(*) as num FROM customers GROUP BY customer_city [ 질의결과 ] ORDER BY num DESC LIMIT 10; customer_city 칼럼을기준으로레코드를그룹화

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력 hive> SELECT customer_city, COUNT(*) as num FROM customers GROUP BY customer_city [ 질의결과 ] ORDER BY num DESC LIMIT 10; alias 가 num 인출력결과 COUNT(*) 를내림차순으로정렬

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력 hive> SELECT customer_city, COUNT(*) as num FROM customers GROUP BY customer_city [ 질의결과 ] ORDER BY num DESC LIMIT 10; 출력결과의갯수를 10 개로제한

Hive 쿼리문사용예 COUNT 와 GROUP BY 에대한 2 개의맵리듀스 Job 이실행 Job2 hive> SELECT customer_city, COUNT(*) as num FROM customers Job1 GROUP BY customer_city ORDER BY num DESC LIMIT 10;

Hive 쿼리문사용예 COUNT 와 GROUP BY 에대한 2 개의맵리듀스 Job 이실행 Job2 hive> SELECT customer_city, COUNT(*) as num FROM customers Job1 GROUP BY customer_city ORDER BY num DESC LIMIT 10;

Hive 쿼리문사용예 각도시별고객의수를내림차순으로정렬하여출력한결과

Hive 조인을위한테이블구성 customer_id = order_customer_id product_category_id = category_id customers orders products categories departments category_department_id = department_id

Hive 조인의사용예 각고객별주문상황을출력하기위해 2 개의테이블 customers 와 orders 을조인 customers Join orders

Hive 조인의사용예 각고객별주문상황을출력하기위해 2 개의테이블 customers 와 orders 을조인 customers Join orders hive> SELECT customer_lname, order_id, order_status FROM customers c JOIN orders o ON (c.customer_id = o.order_customer_id) LIMIT 10;

Hive 조인의사용예 #1 각고객별주문상황보기 hive> SELECT customer_lname, order_id, order_status FROM customers c JOIN orders o ON (c.customer_id = o.order_customer_id) LIMIT 10;

Hive 조인의사용예 #2 각고객별주문상황보기 products categories Join hive> SELECT category_id, category_name, product_name FROM categories c JOIN products p ON(c.category_id = p.product_category_id) LIMIT 10;

Hive 조인의사용예 #2 카테고리별제품목록보기 hive> SELECT category_id, category_name, product_name FROM categories c JOIN products p ON(c.category_id = p.product_category_id) LIMIT 10;

Hive 조인의사용예 #3 카테고리가속한과를보기 categories Join departments hive> SELECT category_id, category_name, department_name FROM categories c JOIN departments d ON(c.category_department_id = d.department_id) LIMIT 10;

Hive 조인의사용예 #3 카테고리가속한과를보기 hive> SELECT category_id, category_name, department_name FROM categories c JOIN departments d ON(c.category_department_id = d.department_id) LIMIT 10;