User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP...

183
User Guide for KT 빅데이터 플랫폼 NDAP 서비스 사용자 가이드

Transcript of User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP...

Page 1: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

User Guide for KT 빅데이터 플랫폼

NDAP 서비스 사용자 가이드

Page 2: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

iii

머리말 vii

1. 문서화 규정 ................................................................................................................ vii

1.1. 표기 규정 ......................................................................................................... vii

1.2. 인용문 규정 ...................................................................................................... vii

1.3. 알림 및 경고 ................................................................................................... viii

2. 고객 지원에 대하여 ................................................................................................... viii

2.1. 웹 상담 서비스 ............................................................................................... viii

1. 개요 1

1.1. 제품 소개 ................................................................................................................... 1

1.2. NDAP Architecture ...................................................................................................... 2

1.3. 구성요소 ..................................................................................................................... 3

2. NDAP 시작하기 5

2.1. NDAP Web 소개 ........................................................................................................ 5

2.1.1. NDAP Web 시작하기 ....................................................................................... 5

2.1.2. 데이터 활용 가이드 ......................................................................................... 5

2.1.3. 사용자 최종 접속시간 ...................................................................................... 5

2.1.4. 로그인 / 로그아웃 ............................................................................................ 6

2.1.5. 사용자 정보 변경 ............................................................................................ 7

2.1.6. NDAP Version 정보 ......................................................................................... 8

2.1.7. NDAP 이벤트 알림 .......................................................................................... 9

3. Dashboard 13

3.1. Dashboard 시작하기 ................................................................................................... 13

3.2. 공통 설명 ................................................................................................................. 13

3.3. NDAP 클러스터 서비스 데몬 상태 ........................................................................... 15

3.3.1. NameNode Daemon ......................................................................................... 15

3.3.2. Resouce Manager Daemon ............................................................................... 16

3.3.3. DataNodes Live ............................................................................................... 16

3.3.4. Node Manager Report ..................................................................................... 17

3.3.5. Daemon Status List ......................................................................................... 17

3.4. NDAP 클러스터 자원 사용량 ................................................................................... 18

3.4.1. HDFS Block Report ........................................................................................ 18

3.4.2. Disk Used on HDFS ....................................................................................... 19

3.4.3. Namenode RPC latency ................................................................................... 19

3.4.4. Yarn Resource Allocation ................................................................................. 20

3.4.5. Used CPU On Cluster ..................................................................................... 20

3.4.6. Used Memory On Cluster ................................................................................ 21

3.4.7. Running MapReduce ........................................................................................ 21

3.5. NDAP 통계정보 ........................................................................................................ 21

3.5.1. Ndap Queries And Workflows Execution .......................................................... 22

3.5.2. Query Statistics ................................................................................................ 22

3.5.3. Workflow Statistics .......................................................................................... 22

3.5.4. Last Login Users ............................................................................................. 23

3.5.5. Long Running Queries ..................................................................................... 23

3.5.6. Long Running Workflows ................................................................................ 24

3.5.7. Workflow Schedule .......................................................................................... 25

4. Data Transfer 27

4.1. Data Transfer 시작하기 ............................................................................................. 27

4.2. Connections ................................................................................................................ 27

4.2.1. Connection 생성 .............................................................................................. 27

4.2.2. Connection 수정 .............................................................................................. 30

4.2.3. Connection 삭제 .............................................................................................. 30

4.2.4. Connection 검색 .............................................................................................. 31

Page 3: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

User Guide

iv

4.3. Import Jobs ............................................................................................................... 31

4.3.1. 지원하는 데이터 유형 .................................................................................... 32

4.3.2. Import Job 생성 ............................................................................................. 32

4.3.3. Import Job 편집 ............................................................................................. 44

4.3.4. Import Job 복사 ............................................................................................. 44

4.3.5. Import Job 삭제 ............................................................................................. 44

4.3.6. Import Job 실행/중지 ...................................................................................... 45

4.3.7. Import Job 검색 ............................................................................................. 45

4.3.8. Import Job 실행 결과 확인하기 ...................................................................... 46

4.4. Export Jobs ............................................................................................................... 48

4.4.1. Export Job생성 ............................................................................................... 48

4.4.2. Export Job 편집 ............................................................................................. 49

4.4.3. Export Job 복사 ............................................................................................. 49

4.4.4. Export Job 삭제 ............................................................................................. 49

5. HDFS Browser 51

5.1. HDFS 저장소 ............................................................................................................ 51

5.2. HDFS 디렉토리 탐색기 ............................................................................................. 52

5.3. HDFS 파일 탐색기 ................................................................................................... 52

5.4. 디렉토리 생성 .......................................................................................................... 53

5.5. 디렉토리/파일 이동 ................................................................................................... 54

5.6. 디렉토리/파일 복사 ................................................................................................... 55

5.7. 디렉토리/파일 이름 변경 .......................................................................................... 56

5.8. 디렉토리/파일 삭제 ................................................................................................... 56

5.9. 파일 업로드 .............................................................................................................. 57

5.10. 파일 다운로드 ......................................................................................................... 57

5.11. 파일 권한 ............................................................................................................... 57

5.12. 파일 내용 미리보기 ................................................................................................ 59

6. Workbench 61

6.1. NDAP Workbench 시작하기 ...................................................................................... 61

6.2. Worksheets ................................................................................................................. 62

6.2.1. Query 실행하기 .............................................................................................. 63

6.2.2. Explain 실행하기 ............................................................................................ 64

6.2.3. SQL 파일 불러오기 ........................................................................................ 64

6.2.4. SQL 파일 저장하기 ........................................................................................ 64

6.2.5. 스니핏으로 저장하기 ...................................................................................... 65

6.2.6. 글씨 크기 조절하기 ....................................................................................... 65

6.2.7. 쿼리 자동완성 사용하기 ................................................................................. 65

6.2.8. 워크시트 설정 ................................................................................................ 66

6.3. Snippets ..................................................................................................................... 67

6.3.1. 스니핏 카테고리 생성 .................................................................................... 67

6.3.2. 스니핏 카테고리 삭제 .................................................................................... 67

6.3.3. 스니핏 등록 ................................................................................................... 67

6.3.4. 스니핏 수정 ................................................................................................... 68

6.3.5. 저장한 스니핏 불러오기 ................................................................................. 69

6.3.6. 스니핏 삭제하기 ............................................................................................. 69

6.4. History ....................................................................................................................... 70

6.4.1. 쿼리 실행 이력 확인 ..................................................................................... 70

6.4.2. 쿼리 실행 결과 확인 ..................................................................................... 71

6.4.3. 쿼리 재실행 ................................................................................................... 74

6.4.4. 실행중인 쿼리 중지 ....................................................................................... 74

6.5. Hive Schemas ............................................................................................................ 74

6.5.1. 데이터베이스 생성/삭제 .................................................................................. 75

6.5.2. 테이블 생성/삭제 ............................................................................................ 76

Page 4: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

v

6.5.3. 데이터 삽입/추출 ............................................................................................ 80

6.5.4. 테이블 즐겨찾기 ............................................................................................. 81

6.5.5. Schema 새로고침 ............................................................................................ 83

6.5.6. 외부 데이터베이스 스키마 복제 ..................................................................... 83

6.5.7. 암호화 ............................................................................................................ 87

6.6. Presto Schemas .......................................................................................................... 89

6.6.1. 데이터베이스 삭제 ......................................................................................... 91

6.6.2. 테이블 삭제 ................................................................................................... 91

6.6.3. 테이블 즐겨찾기 ............................................................................................. 91

6.6.4. Schema 새로고침 ............................................................................................ 94

6.6.5. 암호화 ............................................................................................................ 94

7. Workflow 95

7.1. Workflow 시작하기 ................................................................................................... 95

7.2. Project ....................................................................................................................... 95

7.2.1. Project 생성 ................................................................................................... 95

7.2.2. Project 이름변경 ............................................................................................. 96

7.2.3. Project 삭제 ................................................................................................... 96

7.3. Workflow .................................................................................................................. 97

7.3.1. Workflow 생성 ............................................................................................... 99

7.3.2. Workflow 복사 ............................................................................................. 101

7.3.3. Workflow Run .............................................................................................. 103

7.3.4. Workflow 삭제 ............................................................................................. 106

7.3.5. Workflow Export / Import ............................................................................. 107

7.4. Node ........................................................................................................................ 110

7.4.1. Control Node ................................................................................................. 110

7.4.2. Action Node .................................................................................................. 112

7.4.3. Node 상세 설정 ............................................................................................ 113

7.4.4. Node Clone ................................................................................................... 134

7.4.5. Node 삭제 .................................................................................................... 135

7.5. Schedules .................................................................................................................. 136

7.5.1. Schedules 시작하기 ........................................................................................ 136

7.5.2. Schedule 생성 ............................................................................................... 137

7.5.3. Schedule 수정 ............................................................................................... 138

7.5.4. Schedule 중지/재실행 ..................................................................................... 139

7.5.5. Schedule 즉시실행 ......................................................................................... 140

7.5.6. Schedule 검색 ............................................................................................... 140

7.5.7. Schedule History ............................................................................................ 141

7.6. History ..................................................................................................................... 141

7.6.1. History 시작하기 ........................................................................................... 141

7.6.2. History 화면 설명 ......................................................................................... 142

7.6.3. workflow 검색 .............................................................................................. 142

7.6.4. Workflow 상태 확인 ..................................................................................... 143

7.6.5. Node 상태 확인 ............................................................................................ 143

7.6.6. Output 확인 .................................................................................................. 144

7.6.7. Show Log ..................................................................................................... 147

7.6.8. Suspend & Resume ........................................................................................ 148

7.6.9. Re-run ........................................................................................................... 149

7.6.10. Restart ......................................................................................................... 149

7.7. EL 사용하기 ........................................................................................................... 149

8. Cluster 151

8.1. Cluster 메뉴 ............................................................................................................ 151

8.2. Services .................................................................................................................... 151

8.2.1. 화면 구성 설명 ............................................................................................ 151

Page 5: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

User Guide

vi

8.2.2. Service 상태 .................................................................................................. 154

8.2.3. Metric ........................................................................................................... 155

8.2.4. History .......................................................................................................... 157

8.3. Hosts ........................................................................................................................ 157

8.3.1. 화면 구성 ..................................................................................................... 158

8.3.2. Host Detail .................................................................................................... 162

8.4. Operation Log .......................................................................................................... 165

8.5. External Monitoring .................................................................................................. 166

9. Documnet 169

9.1. Documnet ................................................................................................................. 169

A. EL(Expression Language) 사용 규칙 171

A.1. EL 문법 ................................................................................................................. 171

A.2. EL 상수 ................................................................................................................. 171

A.3. EL 기본 연산자 ..................................................................................................... 172

A.4. EL 함수(Function) .................................................................................................. 172

B. 변경 이력 177

색인 179

Page 6: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

vii

머리말이 매뉴얼은 ㈜케이티넥스알의 서면 승인 없이는 전체 또는 일부를 복사, 복제, 번역 또는 그 어떠

한 전자, 기계 읽기 가능한 형태로 출판될 수 없습니다.

이 매뉴얼은 ㈜케이티넥스알의 통제하에 있지 않는 기타 업체로의 웹사이트 링크를 포함하고 있을

수도 있으며, ㈜케이티넥스알은 링크된 그 어떠한 사이트에 대해서도 책임을 지지 않습니다. 또한,

출처를 미처 밝히지 못한 인용 자료들의 저작권은 원작자에게 있음을 밝힙니다.

틀린 부분이 없도록 하기 위해 최선의 노력을 다했지만, 혹시라도 있을 수 있는 오류나 누락에 대

하여 ㈜케이티넥스알은 일체의 책임을 지지 않습니다. 제품의 버전이나 실행되는 형태에 따라 사

진이 다를 수도 있습니다. 사양이나 사진은 매뉴얼 제작 시점의 최신 자료에 기초하고 있으나, 예

고 없이 변경될 수도 있습니다.

1. 문서화 규정이 메뉴얼에서는 특정 단어 및 구문을 강조 표시하여 특정 정보 부분에 주의를 집중시키기 위해

문서화 규정을 사용하고 있습니다.

PDF 및 문서 편집에서 이 메뉴얼은 Liberation 글꼴 모음에 있는 서체를 사용합니다. 시스템에

Liberation 글꼴 모음이 설치되어 있을 경우 다른 동일한 서체로 나타나게 됩니다.

1.1. 표기 규정작업 제목을 표시하기 위한 기본적인 사용을 제외하고 중요한 새로운 용어를 처음 사용할 때 이텔

릭체로 표시합니다. 예:

NDAP은 Big Data 활용에 필요한 모든 과정을 하나에 솔루션으로 담아낸 제품입니

다.

1.2. 인용문 규정터미널 출력 결과 및 소스 코드 목록은 주위의 문장에서 잘 보이는 위치에 설정됩니다.

터미널로 보내진 출력 결과는mono-spaced roman에 설정되어 다음과 같이 나타납니다:

books Desktop documentation drafts mss photos stuff svn

books_tests Desktop1 downloads images notes scripts svgs

소스 코드 목록도 mono-spaced roman에 설정되지만, 다음과 같이 구문 강조가 추가되어 있습니다:

package org.jboss.book.jca.ex1;

import javax.naming.InitialContext;

public class ExClient

{

public static void main(String args[])

throws Exception

{

InitialContext iniCtx = new InitialContext();

Object ref = iniCtx.lookup("EchoBean");

EchoHome home = (EchoHome) ref;

Echo echo = home.create();

System.out.println("Created Echo");

Page 7: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

머리말

viii

System.out.println("Echo.echo('Hello') = " + echo.echo("Hello"));

}

}

1.3. 알림 및 경고마지막으로, 3 종류의 시각적 스타일을 사용하여 간과될 수 있는 정보에 주의를 집중시킵니다.

알림

알림에서는 현재 작업에 대한 도움말, 지름길 또는 대안적 방법을 제공합니다. 알림 내용을

무시해도 상관없지만 효율적으로 작업할 수 있는 방법을 놓칠 수 있습니다.

중요

간과하기 쉬운 내용에 대해 기술합니다. 무시하게 되며 데이터 유실과 관계 되지 않더라도 문

제가 일어날 여지가 있습니다.

경고

경고는 무시해서는 안됩니다. 경고를 무시할 경우 대부분 데이터가 손실될 수 있습니다.

2. 고객 지원에 대하여㈜케이티넥스알에서는 웹을 통해 고객에게 기술 지원 서비스를 제공합니다.

2.1. 웹 상담 서비스㈜케이티넥스알의 홈페이지를 이용하면, 편리하게 상담 서비스를 받을 수 있고 기타 자료도 열람

할 수 있습니다. 홈페이지를 통해 상담 서비스를 이용하려면, 다음 순서를 참고하십시오.

1. ㈜케이티넥스알의 홈페이지(http://www.ktnexr.co.kr)에 접속하십시오.

2. 홈페이지 화면에 있는 메인 메뉴 중 CONTACT를 마우스를 올리십시오.

3. CONTACT에 속한 세부 메뉴가 나타납니다. 그 중 필요한 문의에 맞는 메뉴를 클릭하여 문의

메일을 주십시오.

Page 8: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

1

개요NDAP(NexR Data Analysis Platform)은 빅데이터 기술에 필요한 데이터 수집/처리/저장/분석 각

Tier의 처리를 모두 제공하는 빅데이터 플랫폼입니다. 이 메뉴얼에서는 사용자가 NDAP UI를 이용

하여 데이터를 수집하고 수집한 데이터를 기반으로 테이블을 생성하는 방법을 설명합니다. 그리고

워크플로우를 작성하고 이를 스케쥴러에 등록하는 방법을 기술합니다.

메뉴얼 구성

이 매뉴얼은 7개의 장으로 구성되어 있습니다. 각 장의 내용을 요약하면 다음과 같습니다.

1장. 개요

매뉴얼 안내 및 NDAP에 대해 설명합니다.

2장. NDAP 시작하기

NDAP을 사용하기 위한 기본적인 사용법에 대해 설명합니다.

3장. 대시보드

NDAP의 Dashboard 기능에 대해서 설명합니다.

4장. 데이터 가져오기/내보내기

NDAP의 데이터 가져오기(수집) 기능과 내보내기 기능을 설명합니다.

5장. HDFS 파일 탐색기

HDFS 파일 탐색기의 기능에 대해서 설명합니다.

6장. 워크벤치

쿼리 에디터인 워크벤치 기능을 설명합니다.

7장. 워크플로우

워크플로우를 작성할 수 있는 워크플로우 에디터와 스케쥴링 기능을 설명합니다.

8장. 문서

NDAP 문서에 대해서 설명합니다.

1.1. 제품 소개NDAP은 빅데이터(Big Data) 활용에 필요한 모든 과정(수집, 저장, 분석, 검색, 변환 등)을 하나의

솔루션으로 담아낸 제품입니다. NDAP을 활용하여 빅데이터를 정확하고 신속하게 검색하고 분석

할 수 있습니다.

Page 9: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

1장. 개요

2

제품의 특장점

NDAP은 다음과 같은 특장점이 있습니다.

1. 대용량 데이터의 최적화된 성능 확장성

2. 기존 시스템과 유연한 상호 운영성

3. GUI기반의 사용자 편의성 제공

4. 대용량 데이터 고급 분석

5. 손쉬운 수집 및 저장

1.1.1. 제품 버전이 매뉴얼은 다음 버전의 제품을 기준으로 설명 합니다.

NDAP v4.10.0

1.2. NDAP ArchitectureNDAP의 아키텍처는 다음과 같습니다.

Page 10: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

구성요소

3

1.3. 구성요소NDAP을 구성하는 논리적인 역할은 다음과 같습니다.

NDAP 구성요소 역할

NDAP WebApp NDAP Web, Workflow 엔진, Query 엔진 등이 포함된 관리 서버

Ganglia Hadoop Cluster 모니터링

Hive 질의 및 분석

Hadoop YARN Hadoop Resource Management

HBase HBase Master, ResionServer

ZooKeeper 분산 상호조정 서비스 역할을 하며, 홀수 개로 구성

Hadoop Cluster 실질적인 NDAP의 작업을 수행하는 노드. Hadoop NameNode,

Hadoop Datanode, HistoryServer 등 을 포함

Maria DB NDAP 메타 정보 저장소

Nifi 실시간 데이터 수집기

Page 11: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4

Page 12: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

5

NDAP 시작하기이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

에 대하여 설명합니다.

2.1. NDAP Web 소개NDAP의 대부분의 기능은 웹 인터페이스를 통해 제공됩니다. NDAP WebUI는 Google Chrome 브라

우저에 최적화 되어 있습니다.

2.1.1. NDAP Web 시작하기NDAP Web 시작 페이지는 다음과 같습니다.

http://{NDAP_Management_Server_Host}:8080/

NDAP Web의 메인 메뉴의 기능에 대하여 설명합니다.

메인 메뉴 주요 기능

Data Transfer 데이터 수집 및 Database로 Export 기능 제공

HDFS Browser HDFS 파일 탐색 기능 제공

Workbench Table 생성 테이블 스키마 인포확인 및 HQL 실행 및 히스토리

제공

Workflow 사용자가 쉽게(Drag-and-drop) workflow를 구성할 수 있으며

Schedule 및 History 검색 기능 제공

Administration 유저/권한 관리, Query Audit, Configuration 기능제공

Cluster Service/Process 상태 관리 및 Operation 수행기능, Metric 정보 제

Document NDAP 메뉴얼 제공

2.1.2. 데이터 활용 가이드ETL 및 데이터 분석 방법 및 각 사용에 따른 처리 프로세스 가이드 방법 설명

2.1.3. 사용자 최종 접속시간NDAP화면 우측 위에 이벤트 알림창으로 마지막으로 접속한 시간을 확인 할 수 있습니다.

또한 dashboard 화면에서 사용자 별로 최종 접속시간을 확인 할 수 있습니다.

Page 13: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

2장. NDAP 시작하기

6

2.1.4. 로그인 / 로그아웃로그인 및 로그아웃 방법에 대하여 설명합니다.

1. 로그인

• 로그인하는 방법에 대하여 설명합니다.

a. 웹 브라우저를 실행하여 "주소 입력 란"에 "NDAP Web 시작 페이지 접속 주소"를 입력

합니다.

http://{NDAP_Management_Server}:8080/ndap

b. NDAP 로그인 화면은 다음과 같습니다.

Page 14: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

사용자 정보 변경

7

2. 로그아웃

a.

NDAP Web 상단 메뉴에 버튼을 클릭합니다.

b. [Logout] 버튼을 클릭합니다.

2.1.5. 사용자 정보 변경사용자 정보를 변경하는 방법에 대하여 설명합니다.

Page 15: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

2장. NDAP 시작하기

8

NDAP Web 상단 메뉴에 버튼을 클릭합니다.

1. [Profile] 버튼을 클릭합니다.

2. 사용자 정보를 변경하고 [sava] 버튼을 클릭하면 사용자 정보가 저장됩니다.

2.1.6. NDAP Version 정보NDAP Version 정보 확인하는 방법에 대하여 설명합니다.

NDAP Web 상단 메뉴에 버튼을 클릭합니다.

1. [about] 버튼을 클릭합니다.

Page 16: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

NDAP 이벤트 알림

9

2. NDAP Version 정보에 대해서 확인할 수 있습니다.

2.1.7. NDAP 이벤트 알림NDAP 이벤트 알림을 확인하는 방법과 종류를 설명합니다.

• 이벤트가 있을경우 NDAP 우측 상단에 표시됩니다.

Page 17: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

2장. NDAP 시작하기

10

버튼을 클릭하면 이벤트 알림 목록을 볼 수 있습니다.

• 이벤트 알림 리스트에서 제목을 클릭하면 상세 내용을 확인 할 수 있습니다.

1. 이벤트 제목을 클릭합니다.

2. 이벤트 알림 상세 내용을 확인합니다.

• 이벤트 알림을 삭제하는 방법을 설명합니다.

•이벤트 알림 리스트에서 버튼을 눌러 해당 리스트를 삭제 하실 수 있습니다..

Page 18: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

NDAP 이벤트 알림

11

이벤트 알림 상세 내용 화면에서 버튼을 눌러 해당 이벤트 알림을 삭제 하실

수 있습니다.

이벤트 알림 리스트에서 버튼을 눌러 모든 이벤트 알림을 삭제 하실 수 있

습니다.

• 이벤트 알림의 종류는 다음과 같습니다.

• Info

Info알림은 NDAP의 기능(테이블 생성, 쿼리 완료, Workflow완료 등)이 성공적으로 수행되었

을때 표시됩니다.

Page 19: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

2장. NDAP 시작하기

12

• Alert

Alert알림은 NDAP의 기능 수행에 문제가 있을때 표시됩니다.

Page 20: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

13

DashboardDashboard는 Ndap 서비스 상태와 NDAP 통계 정보를 확인 할 수 있는 화면입니다.

3.1. Dashboard 시작하기대시보드에서 제공하는 기능은 다음과 같습니다.

• NDAP 클러스터 서비스 데몬 상태

• NDAP 클러스터 자원 사용량

• NDAP 통계정보

3.2. 공통 설명대시보드 아이템의 공통 부분에 대해서 설명합니다.

1. 상태

각 아이템은 3가지 상태 값을 가지며, 상태에 따라 타이틀 생상이 변경됩니다.

• Normal

정상 상태일 경우, 다음과 같이 녹색 타이틀 색상을 가지게 됩니다.

• Warning

아이템에 지정된 Warning Threshold를 넘으면 [Warning]상태로 변경되며, 다음과 같이 주황

색 타이틀 색상을 가지게 됩니다.

• Error

아이템에 지정된 Error Threshold를 넘으면 [Error]상태로 변경되며, 다음과 같이 빨간색 타이

틀 색상을 가지게 됩니다.

2. Refresh Time

대쉬보드 각 아이템의 갱신시간은 우측하단에 있습니다.

Page 21: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

3장. Dashboard

14

Tip!

Dashboard의 내용은 설정된 주기(Default:1분)로 데이터를 갱신하기 때문에 Browser를 새

로고침(F5)해도 변경되지 않습니다.

설정 변경은 Admin 가이드를 참고하세요.

3. Link

아이템의 우측 하단에 위치하고 있으며, 클릭하면 해당 아이템의 상세페이지로 이동합니다.

4. Description

대시보드 각 아이템에 대한 설명입니다.

Page 22: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

NDAP 클러스터 서비스 데몬 상태

15

아이콘에 마우스를 올리면 해당 아이템에 대한 설명을 확인 할 수 있습니다.

3.3. NDAP 클러스터 서비스 데몬 상태NDAP 클러스터의 서비스 데몬 상태를 표시해주는 아이템 목록입니다.

• NameNode Daemon

• Resouce Manager Daemon

• DataNodes Live

• Node Manager Report

• Daemon Status List

데몬 상태를 표시하는 방법은 다음과 같습니다.

항목 설명

Active 데몬이 정상적으로 실행중인 상태

Standby 데몬이 정상적으로 실행중인 상태

실행 정지 상태

정상적으로 실행중인 노드 수 / 설치된 전체 노드 수

3.3.1. NameNode DaemonNameNode 데몬 상태를 확인하는 아이템입니다.

Page 23: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

3장. Dashboard

16

Tip!

서비스가 내려가면 해당 Node 상태 값은 [Down]으로 변경되며 아이템 상태는 [Error]로 변경

됩니다.

3.3.2. Resouce Manager DaemonResouce Manager 데몬 상태를 확인하는 아이템입니다.

Tip!

서비스가 내려가면 해당 Node 상태 값은 [Down]으로 변경되며 아이템 상태는 [Error]로 변경

됩니다.

3.3.3. DataNodes LiveDataNode들의 데몬 상태를 확인하는 아이템입니다.

Page 24: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node Manager Report

17

Tip!

DataNode가 1개이상 서비스 중지되면 아이템 상태는 [Warning]으로 변경되며, 30%이상 서비

스가 중지되면 아이템 상태는 [Error]로 변경됩니다.

3.3.4. Node Manager ReportNode Manager 데몬 상태를 확인하는 아이템입니다.

다음은 대시보드 아이템에 대한 설명입니다.

항목 설명

Running 실행중인 노드 개수

Lost 일정시간 동안 응답하지 않은 노드의 개수

Unhealthy 응답이 불안정한 노드의 개수

Decommissioned 서비스 제거된 노드의 개수

Tip!

Lost나 Unhealthy 노드가 있으면 상태는 [Warning]으로 변경되며, 실행 중인 Node Manager가

없으면 [Error]상태로 변경됩니다.

3.3.5. Daemon Status ListHive와 Oozie 데몬 상태를 확인하는 아이템입니다.

Page 25: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

3장. Dashboard

18

Tip!

Hive나 Oozie 데몬이 1개이상 정지되면 아이템 상태는 [Warning]으로 변경되며, 실행중인

Hive나 Oozie가 없으면 [Error]로 변경됩니다.

3.4. NDAP 클러스터 자원 사용량NDAP 클러스터 자원 사용량을 표시해주는 대시보드 아이템은 다음과 같습니다.

• HDFS Block Report

• Disk Used on HDFS

• Namenode RPC latency

• Yarn Resource Allocation

• Used CPU On Cluster

• Used Memory On Cluster

• Running MapReduce

3.4.1. HDFS Block ReportHDFS 블록정보 중 Missing Block, corrupted Block, Under replicated block의 수를 나타내는 아이템

입니다.

다음은 대시보드 아이템에 대한 설명입니다.

항목 설명

Missing 유실된 Block 개수

Corrupted 오류가 발생한 Block 개수

Under Replicated 복제본이 부족한 Block 개수

Page 26: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Disk Used on HDFS

19

Tip!

Under replicated block수가 1000이 넘으면 아이템 상태는 [Warning]으로 변경되며, Missing

Block 또는 Corrupted Block이 1개 이상 있는 경우는 [Error]로 변경됩니다.

3.4.2. Disk Used on HDFSHDFS의 디스크 사용량을 나타내는 아이템입니다.

HDFS의 남아있는 디스크 사용량은 아래에 표시됩니다.

Tip!

디스크사용량이 80%를 넘으면 아이템의 상태가 [Warning]으로 변경되며, 90%초과시 [Error]

상태로 변경됩니다.

3.4.3. Namenode RPC latencyNameNode RPC 응답시간을 나타내는 아이템입니다.

Page 27: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

3장. Dashboard

20

Tip!

지연시간 1초 초과시 아이템 상태는 [Warning]으로 변경되며, 10초 초과시 [Error]상태로 변경

됩니다.

3.4.4. Yarn Resource AllocationYarn Job Queue의 현재 사용량을 나타내는 아이템입니다. 사용량이 많은 순으로 5개까지 나타냅니

다.

Tip!

Role에서 Job Queue를 설정하지 않으면 "root.default" Queue로 실행됩니다.

3.4.5. Used CPU On ClusterCPU 사용량을 나타내는 아이템입니다.

Page 28: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Used Memory On Cluster

21

3.4.6. Used Memory On ClusterMemory 사용량을 나타내는 아이템입니다.

3.4.7. Running MapReduce현재 실행중인 MapReduce Job의 수를 나타내는 아이템입니다.

3.5. NDAP 통계정보대시보드에서 NDAP 통계정보를 확인 할 수 있는 아이템 목록입니다.

• Ndap Queries And Workflows Execution

• Query Statistics

• Workflow Statistics

• Last Login Users

Page 29: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

3장. Dashboard

22

• Long Running Queries

• Workflow Schedule

• Long Running Workflows

3.5.1. Ndap Queries And Workflows Execution24시간 동안 실행한 Query와 Workflow의 수를 Time Series Graph로 표시해주는 아이템입니다.

우측 끝에는 24시간동안 실행된 총합이 표시됩니다.

그래프에 마우스를 올리면 마우스포인터가 가르키는 시간에 실행된 Query와 Workflow의 수를 확

인 할 수 있습니다.

9시에 실행된 Query는 37개이며 Workflow는 73개입니다.

3.5.2. Query Statistics1시간 동안 실행한 Query의 수와 Table 정보를 표시해주는 아이템입니다.

아이템내의 각 항목에 대한 설명입니다.

항목 설명

Tables Hive Table의 개수

Running 현재 실행 중인 Query의 개수

Recently succeeded 최근 1시간 동안 성공한 Query의 수

Recently failed 최근 1시간 동안 실패한 Query의 수

3.5.3. Workflow StatisticsNDAP에서 저장된 총 Workflow의 수와 지난 1시간 동안 실행된 Workflow 수를 표시해주는 아이

템입니다.

Page 30: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Last Login Users

23

아이템내의 각 항목에 대한 설명입니다.

항목 설명

Workflow NDAP에 저장된 Workflow의 총합

Running 현재 실행 중인 Workflow의 수

Recently succeeded 최근 1시간 동안 성공한 Workflow 수

Recently failed 최근 1시간 동안 실패한 Workflow 수

3.5.4. Last Login UsersNDAP에 최근 접속한 User 5명을 보여주는 아이템입니다.

아이템내의 각 항목에 대한 설명입니다.

항목 설명

User 유저 아이디

Login At 최근 접속한 시간

ip 접속한 유저의 ip

3.5.5. Long Running Queries2시간 이상 실행중인 쿼리를 나타내는 아이템입니다.

리스트는 오래된 순으로 정렬되어 있으며, 최대 5개의 쿼리까지 나타냅니다.

Page 31: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

3장. Dashboard

24

다음은 아이템내의 각 항목 대한 설명입니다.

항목 설명

Query 실행중인 Query

User 유저 아이디

Database Query가 실행된 Database 이름

On 실행한 시스템

Started Query가 실행된 시간

Duration Query가 실행중인 시간

3.5.6. Long Running WorkflowsRunning 중인 Worklfow 중 수행시간이 지난 일주일간의 평균값 보다 120% 이상 지연중인

Worklfow를 보여주는 아이템입니다.

다음은 아이템내의 각 항목에 대한 설명입니다.

항목 설명

Workflow Name Workflow 이름

Project Name Workflow를 포함하는 Project 이름

Description Workflow 설명

Start Time Workflow가 실행된 시간

Duration Workflow가 걸린 시간

Page 32: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow Schedule

25

Tip!

120%의 지연율은 변경 가능합니다. 자세한 내용은 Admin 가이드를 참고하세요.

3.5.7. Workflow Schedule최근 실행된 Workflow Schedule 5개를 보여주는 대시보드 입니다.

다음은 아이템내의 각 항목에 대한 설명입니다.

항목 설명

Name Schedule의 이름

time unit Schedule의 실행 간격

last triggered 최근 실행된 시간

Page 33: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

26

Page 34: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

27

Data Transfer이 장에서는 NDAP Web의 메인 메뉴 Data Transfer에서 데이터를 가져오고, 내보내는 방법 및

Repository 에 파일 업로드 하는 방법에 대하여 설명합니다.

사용방법에 대한 이해를 돕기 위해 Use Cases를 들어 설명합니다. Example Use Cases를 참조하십시

오.

4.1. Data Transfer 시작하기Data Transfer에서 제공하는 기능은 다음과 같습니다.

• 커낵션 생성

• 데이터 정규화

• 데이터 저장

• 데이터 가져오기/내보내기

4.2. Connections데이터에 액세스하고, 데이터를 가져오기 위해서는 Connection을 생성해야 합니다. 지원하는 연결

유형과 설정 방법에 대해서 설명 합니다.

1. Connections의 화면은 다음과 같습니다.

2. Connection의 메뉴 위치는 다음과 같습니다.

• [Data Transfer] > [Connections]

3. Connection에서 제공하는 기능은 다음과 같습니다.

• Connection 추가/수정/삭제

• 지원하는 Connection 유형

• Database

• Secure Shell(SSH)

4.2.1. Connection 생성신규 Connection을 생성하는 방법에 대해서 각 유형별로 설명합니다.

1. Connection 생성 메뉴 위치는 다음과 같습니다.

a. [Data Transfer] > [Connections]

b. Create Connection을 선택합니다.

2. 유형별 생성 방법

Page 35: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

28

a. Database

• 연결할 원본 데이터가 Database인 경우 JDBC 드라이버를 사용하여 연결합니다. Database

타입에 대한 Connection을 생성하는 방법에 대해서 설명합니다.

• Database 타입에 대한 Create Connection 화면 항목에 대해서 설명합니다.

항목 설명

Connection Type 원본 데이터 연결 유형을 선택합니다. – "Database"를 선

택합니다.

Name 생성할 Connection 이름을 입력합니다.

JDBC URL 데이터베이스 접속 JDBC driver connection URL을 입력합

니다.

User Name 데이터베이스 사용자 아이디

Password 데이터베이스 사용자 비밀번호

Driver Class 특수한 jdbc driver를 사용하는 경우 드라이버 class명을

입력합니다.

Test Connection Connection을 생성하면서 연결 테스트할지 여부 (Default

체크)

※ 연결 문제가 발생할 경우 생성되지 않고, 오류 메시지

가 나타납니다.

Create 입력한 정보로 Connection을 생성하는 버튼

Cancel 이전 화면으로 돌아가기 버튼

Tip

Database 유형에 대한 Connection을 만들기 위해서는 먼저 적절한 JDBC Driver

를 NDAP에 설치해야 합니다. ‘InstallationGuide (NDAP-4.10.0-InstallationGuide-

KOR.pdf) > 부록 A. JDBC 드라이버 추가’ 참조

Page 36: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Connection 생성

29

• 연결이 성공한 database의 경우, Connection 화면에서 Show tables를 클릭하여 table list를

조회 해 볼 수 있습니다.

또한 table를 클릭시 해당 table의 schema 정보를 확인 할 수 있습니다.

b. SSH

• 연결할 원본 데이터가 다른 host에 있는 파일인 경우 SSH(Secure Shell)를 사용하여 연결

합니다. SSH 타입에 대한 Connection을 생성하는 방법에 대해서 설명합니다.

Page 37: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

30

• SSH 타입에 대한 Create Connection 화면 항목에 대해서 설명합니다.

항목 설명

Connection Type 원본 데이터 연결 유형을 선택합니다. – "SSH"를 선택합

니다.

Name 생성할 Connection 이름을 입력합니다.

Hosts 연결한 Host의 hostname 또는 IP를 입력합니다.

※ 여러 Host를 입력하는 경우 구분자 : Enter

Port SSH 접속 Port 번호 (Default : 22)

Authentication이 "by

Password"인 경우

아이디/비밀번호로 로그인 하여 SSH 접속하는 경우 선택

합니다.

• User Name : SSH 접속 계정

• Password : 접속 계정에 대한 비밀번호

Authentication이 "by Private

Key"인 경우

비밀번호대신 SSH Key를 제출하여 로그인 없이 SSH 접

속하는 경우

• User Name : SSH 접속 계정

• PrivateKey : SSH private key(접속계정의 ".ssh/id_rsa")

• Passphrase : SSH public key(접속계정의".ssh/id_rsa.pub")

Base Directory SSH 접속 홈 디렉토리 경로를 입력합니다.

Create 입력한 정보로 Connection을 생성하는 버튼

Cancel 이전 화면으로 돌아가기 버튼

4.2.2. Connection 수정생성한 Connection 정보에 대하여 편집하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Connections]을 선택합니다.

2. Connection 목록에서 편집 할 Connection의 Name을 선택합니다.

3. 편집 화면에서 정보를 입력한 후 "Save" 버튼을 클릭합니다.

4.2.3. Connection 삭제생성한 Connection 정보에 대하여 삭제하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Connections]을 선택합니다.

2. Connection 목록에서 편집 할 Connection의 Name을 선택합니다.

3. 편집 화면에서 정보를 입력한 후 "Delete" 버튼을 클릭합니다.

4. 삭제할 것인지 물어보는 확인 창이 나타나면 "Delete" 버튼을 클릭합니다.

Page 38: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Connection 검색

31

경고

해당 Connection이 Import Job/Export Job/Workflow에서 사용중인 경우 삭제할 수 없습니다.

4.2.4. Connection 검색Connection 목록의 Connection Name 및 Type에 대한 검색하는 방법에 대해서 설명합니다.

1. 검색범위

a. Connection Name

b. Connection Type

2. 검색방법

a. 검색어 입력란에 검색하고자 하는 단어를 입력하면 바로 검색됩니다.

b. 입력한 검색어를 지우면 검색조건을 초기화 하고, Connection 목록을 표시합니다.

Tip

입력한 검색어에 대한 검색은 대소문자를 구분하지 않습니다.

4.3. Import JobsImport Job을 사용하기 위해서는 먼저 Connection 설정을 설정하여야 합니다. Connection을 설정하

는 방법은 Connections을 참조하십시오. Import Job으로 데이터를 가져오면 데이터를 분석 할 수 있

습니다. 지원하는 데이터 가져오기 유형과 설정 방법에 대해서 설명 합니다.

1. Import Job의 화면은 다음과 같습니다.

2. Import Job의 메뉴 위치는 다음과 같습니다.

• [Data Transfer] > [Import Jobs]

3. Import Job에서 제공하는 기능은 다음과 같습니다.

• Import Job 추가/수정/삭제

• Import Job 실행 및 중지

Page 39: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

32

• 지원 Import Job 유형

NDAP 구성요소 역할

Files to Hive 파일 데이터를 가져와서 Hive Table에 저장

Files to HDFS 파일 데이터를 가져와서 HDFS(Hadoop Distributed File

System)에 저장

Database to Hive (JDBC) JDBC를 이용하여 DB 데이터를 가져와서 Hive Table에 저장

4.3.1. 지원하는 데이터 유형NDAP은 다음과 같은 Database, File 수집을 지원합니다.

• Database

• JDBC Driver를 통하여 연결 가능한 Database

Tip

데이터 수집 전 Database 유형에 대한 JDBC Driver를 NDAP에 설치해야 합니다. "Installation

Guide > 부록 A. JDBC 드라이버 추가" 참조

• File

• Delimiter : 데이터 필드 구분자가 "comma, tab, space, semicolon, colon, |"로 정의된 File

• Fixed Width : 구분자 없이 파일의 각 줄의 특정위치에 특정 필드가 포함되어 있는 File

• Regular Expression : 데이터가 regular expression으로 구성되어 있는 File

Tip

Default 제공 Regular Expression Type Access Log : ([\d.]+) (\S+) (\S+) \[([\w:/]+\s[+

\-]\d{4})\] \"(.+?)\" (\d{3}) (\d+|(.+?)) \"([^\"]+|(.+?))\" \"([^\"]+|(.+?))\" Syslog : (\w+\x20\d

+) (\d+:\d+:\d+) (\S+) (.*) ※ 이외의 Regular Expression은 관리자 등록 또는 사용자가

Import Job 생성할 때 직접 입력.

4.3.2. Import Job 생성신규 Import Job을 생성하는 방법에 대해서 설명합니다.

1. 메뉴 위치

a. [Data Transfer] > [Import Jobs]

b. Create Imoport Job을 선택합니다.

Page 40: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 생성

33

2. 유형별 Import Job 생성방법

Import Job을 생성하는 방법은 다음과 같습니다.

a. NDAP Repository File 데이터 가져와서 Hive 저장하기

b. SSH Connection File 데이터 가져와서 Hive 저장하기

c. SSH Connection Shell 실행결과 File 데이터 가져와서 Hive 저장하기

d. SSH Connection File 데이터 가져와서 Shell 실행결과 Hive 저장하기

e. NDAP Repository File 데이터 가져와서 HDFS 저장하기

f. SSH Connection File 데이터 가져와서 HDFS 저장하기

g. Database Connection DB 데이터 가져와서 Hive 저장하기

다음은 Import Job을 생성하는 방법에 대해서 각 유형별로 설명합니다.

a. NDAP Repository File 데이터 가져와서 Hive 저장하기

NDAP Repository에 등록한 파일 데이터를 가져와서 데이터 정규화 후 Hive Table에 저장

하는 Files to Hive 타입에 대한 Import Job 생성하는 방법에 대해서 설명합니다.

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Files to Hive"를 선택합니다.

ii. 데이터를 저장할 Hive의 Database 및 Table을 선택합니다.

Target Table 항목에 대해서 설명합니다.

항목 설명

Target Database 데이터를 저장할 Hive의 Database

Target Table 데이터를 저장할 Hive의 Table

Truncate the table before

import

데이터를 저장하기 전 Table의 모든 데이터 삭제하는 경

우 체크

iii. 연결할 원본 데이터 Connection 유형 "NDAP_FILE_REPO - Ndap File Repository"를 선

택합니다.

Page 41: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

34

iv. 가져올 파일 데이터 경로 및 옵션을 선택합니다.

파일 데이터 경로 및 옵션에 대해서 설명합니다.

항목 설명

Path 가져올 파일 경로를 선택합니다.

Exclude files 특정 파일을 제외하는 경우 체크

• Files older than [] minutes

Import Job 실행시 파일생성시간이 [] 분 이전보다 오

래된 경우 제외

• Files newer than [] minutes

Import Job 실행시 파일 생성 시간이 [] 분 이전보다

최근인 경우 제외

Allow duplicated files 이전 실행한 Import Job에서 Import한 파일을 가져오는

경우 체크

※ 중복체크 기준 : 파일명

v. 가져올 파일 데이터의 Format을 선택합니다.

파일 데이터 Format 항목에 대해서 설명합니다.

항목 설명

Delimiter Column Delimiter 선택 - comma, tab, space, semicolon,

colon, |, \001, \002, \003, \004

Fixed Width Column의 고정 길이를 ',' 로 분리하여 입력

Regular Expression 등록된 Regular Expression을 선택하거나, 직접 Regular

Expression 입력

vi. 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭하여 올바르게 컬럼과 타입을

매핑합니다.

Page 42: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 생성

35

vii. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

b. SSH Connection File 데이터 가져와서 Hive 저장하기

등록한 SSH 타입의 Connection을 이용하여 파일 데이터를 가져와서 데이터 정규화 후 Hive

Table에 저장하는 Files to Hive 타입에 대한 Import Job 생성하는 방법에 대해서 설명합니

다.

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Files to Hive"를 선택합니다.

ii. 데이터를 저장할 Hive의 Database 및 Table을 선택합니다.

Target Table 항목에 대해서 설명합니다.

항목 설명

Target Database 데이터를 저장할 Hive의 Database

Target Table 데이터를 저장할 Hive의 Table

Truncate the table before

import

데이터를 저장하기 전 Table의 모든 데이터 삭제하는 경

우 체크

iii. 연결할 원본 데이터 Connection 유형 "SSH – Connection이름"을 선택합니다.

iv. 가져올 파일 데이터 유형, 경로 및 옵션을 선택합니다.

파일 데이터 유형, 경로 및 옵션에 대해서 설명합니다.

Page 43: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

36

항목 설명

Source Type 파일 데이터 유형을 선택합니다. – "Files"를 선택합니다.

Path 가져올 파일 경로를 선택합니다.

Exclude files 특정 파일을 제외하는 경우 체크

• Files older than [] minutes

Import Job실행시 파일생성시간이 [] 분 이전보다 오래

된 경우 제외

• Files newer than [] minutes

Import Job실행시 파일 생성 시간이 [] 분 이전보다 최

근인 경우 제외

Allow duplicated files 이전 실행한 Import Job에서 Import한 파일을 가져오는

경우 체크

※ 중복체크 기준 : 파일명

v. 가져올 파일 데이터의 Format을 선택합니다.

파일 데이터 Format 항목에 대해서 설명합니다.

항목 설명

Delimiter Column Delimiter 선택 - comma, tab, space, semicolon,

colon, |, \001, \002, \003, \004

Fixed Width Column의 고정 길이를 ',' 로 분리하여 입력

Regular Expression 등록된 Regular Expression을 선택하거나, 직접 Regular

Expression 입력

vi. 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭하여 올바르게 컬럼과 타입을

매핑합니다.

vii. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

c. SSH Connection Shell 실행결과 File 데이터 가져와서 Hive 저장하기

등록한 SSH 타입의 Connection을 이용하여 Shell Command 실행결과 파일 데이터를 가져와

서 데이터 정규화 후 Hive Table에 저장하는 Files to Hive 타입에 대한 Import Job 생성하

는 방법에 대해서 설명합니다.

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Files to Hive"를 선택합니다.

Page 44: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 생성

37

ii. 데이터를 저장할 Hive의 Database 및 Table을 선택합니다.

Target Table 항목에 대해서 설명합니다.

항목 설명

Target Database 데이터를 저장할 Hive의 Database

Target Table 데이터를 저장할 Hive의 Table

Truncate the table before

import

데이터를 저장하기 전 Table의 모든 데이터 삭제하는 경

우 체크

iii. 연결할 원본 데이터 Connection 유형 "SSH – Connection이름" 을 선택합니다.

iv. Source Type을 "Shell Command output" 옵션으로 선택합니다.

파일 데이터 경로 및 옵션에 대해서 설명합니다.

항목 설명

Source Type 파일 데이터 유형을 선택합니다. - "Shell Command

output"을 선택합니다.

Path 가져올 파일 경로를 선택합니다.

Exclude files 특정 파일을 제외하는 경우 체크

• Files older than [] minutes

Import Job실행시 파일생성시간이 [] 분 이전보다 오래

된 경우 제외

Page 45: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

38

항목 설명

• Files newer than [] minutes

Import Job실행시 파일 생성 시간이 [] 분 이전보다 최

근인 경우 제외

Allow duplicated files 이전 실행한 Import Job에서 Import한 파일을 가져오는

경우 체크

※ 중복체크 기준 : 파일명

v. 가져올 파일 데이터의 Format을 선택합니다.

파일 데이터 Format 항목에 대해서 설명합니다.

항목 설명

Delimiter Column Delimiter 선택 - comma, tab, space, semicolon,

colon, |, \001, \002, \003, \004

Fixed Width Column의 고정 길이를 ',' 로 분리하여 입력

Regular Expression 등록된 Regular Expression을 선택하거나, 직접 Regular

Expression 입력

vi. 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭하여 올바르게 컬럼과 타입을

매핑합니다.

vii. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

d. SSH Connection File 데이터 가져와서 Shell 실행결과 Hive 저장하기

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Files to Hive"를 선택합니다.

ii. 데이터를 저장할 Hive의 Database 및 Table을 선택합니다.

Page 46: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 생성

39

Target Table 항목에 대해서 설명합니다.

항목 설명

Target Database 데이터를 저장할 Hive의 Database

Target Table 데이터를 저장할 Hive의 Table

Truncate the table before

import

데이터를 저장하기 전 Table의 모든 데이터 삭제하는 경

우 체크

iii. 연결할 원본 데이터 Connection 유형 "SSH – Connection이름" 을 선택합니다.

iv. Source Type을 "Shell Command output with fiels" 옵션으로 선택합니다.

파일 데이터 경로 및 옵션에 대해서 설명합니다.

항목 설명

Source Type 파일 데이터 유형을 선택합니다. – "Shell Command

output with files"를 선택합니다.

Shell Command 실행 할 Shell Script 경로 또는 Shell script를 입력합니다.

File Parameters Shell 실행 시 사용될 파라미터를 입력한다.

Path 가져올 파일경로를 선택합니다.

Exclude files 특정 파일을 제외하는 경우 체크

• Files older than [] minutes

Import Job실행시 파일생성시간이 [] 분 이전보다 오래

된 경우 제외

Page 47: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

40

항목 설명

• Files newer than [] minutes

Import Job실행시 파일 생성 시간이 [] 분 이전보다 최

근인 경우 제외

Allow duplicated files 이전 실행한 Import Job에서 Import한 파일을 가져오는

경우 체크

※ 중복체크 기준 : 파일명

v. 가져올 파일 데이터의 Format을 선택합니다.

파일 데이터 Format 항목에 대해서 설명합니다.

항목 설명

Delimiter Column Delimiter 선택 - comma, tab, space, semicolon,

colon, |, \001, \002, \003, \004

Fixed Width Column의 고정 길이를 ',' 로 분리하여 입력

Regular Expression 등록된 Regular Expression을 선택하거나, 직접 Regular

Expression 입력

vi. 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭하여 올바르게 컬럼과 타입을

매핑합니다.

vii. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

e. NDAP Repository File 데이터 가져와서 HDFS 저장하기

NDAP Repository에 등록한 파일 데이터를 가져와서 HDFS에 저장하는 Files to HDFS 타입

에 대한 Import Job 생성하는 방법에 대해서 설명합니다.

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Files to HDFS"를 선택합니다.

ii. 데이터를 저장할 HDFS 경로를 선택합니다.

Page 48: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 생성

41

Target Path 항목에 대해서 설명합니다.

항목 설명

Path 저장할 파일 경로를 선택합니다.

iii. 연결할 원본 데이터 Connection 유형 "NDAP_FILE_REPO - Ndap File Repository"를 선

택합니다.

iv. 가져올 파일 데이터 경로 및 옵션을 선택합니다.

파일 데이터 경로 및 옵션에 대해서 설명합니다.

항목 설명

Path 가져올 파일 경로를 선택합니다.

Exclude files 특정 파일을 제외하는 경우 체크

• Files older than [] minutes

Import Job실행시 파일생성시간이 [] 분 이전보다 오래

된 경우 제외

• Files newer than [] minutes

Import Job실행시 파일 생성 시간이 [] 분 이전보다 최

근인 경우 제외

Allow duplicated files 이전 실행한 Import Job에서 Import한 파일을 가져오는

경우 체크

※ 중복체크 기준 : 파일명

Renaming files 파일 경로 및 파일명 변경하여 저장하는 경우 체크

• Source file path pattern : 가져오는 파일명에서 추출할

패턴을 Regular Expression으로 입력

• Target file path pattern : 추출한 패턴에 맞게 저장하

는 경로 및 파일명 입력

v. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

f. SSH Connection File 데이터 가져와서 HDFS 저장하기

등록한 SSH 타입의 Connection을 이용하여 파일 데이터를 가져와서 HDFS에 저장하는 Files

to HDFS 타입에 대한 Import Job 생성하는 방법에 대해서 설명합니다.

Page 49: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

42

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Files to HDFS"를 선택합니다.

ii. 데이터를 저장할 HDFS 경로를 선택합니다.

Target Path 항목에 대해서 설명합니다.

항목 설명

Path 저장할 파일 경로를 선택합니다.

iii. 연결할 원본 데이터 Connection 유형 "SSH – Connection이름" 을 선택합니다.

iv. 가져올 파일 데이터 경로 및 옵션을 선택합니다.

파일 데이터 경로 및 옵션에 대해서 설명합니다.

항목 설명

Path 가져올 파일 경로를 선택합니다.

Exclude files 특정 파일을 제외하는 경우 체크

• Files older than [] minutes

Import Job실행시 파일생성시간이 [] 분 이전보다 오래

된 경우 제외

• Files newer than [] minutes

Import Job실행시 파일 생성 시간이 [] 분 이전보다 최

근인 경우 제외

Allow duplicated files 이전 실행한 Import Job에서 Import한 파일을 가져오는

경우 체크

※ 중복체크 기준 : 파일명

Page 50: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 생성

43

항목 설명

Renaming files 파일 경로 및 파일명 변경하여 저장하는 경우 체크

• Source file path pattern : 가져오는 파일명에서 추출할

패턴을 Regular Expression으로 입력

• Target file path pattern : 추출한 패턴에 맞게 저장하

는 경로 및 파일명 입력

v. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

g. Database Connection DB 데이터 가져와서 Hive 저장하기

등록한 Database 타입의 Connection을 이용하여 DB 데이터를 가져와서 데이터 정규화 후

Hive Table에 저장하는 Database to Hive (JDBC) 타입에 대한 Import Job 생성하는 방법에

대해서 설명합니다.

i. 생성할 Import Job 이름을 입력하고, Job Type에서 "Database to Hive (JDBC)"를 선택합

니다.

ii. 데이터를 저장할 Hive의 Database 및 Table을 선택합니다.

Target Table 항목에 대해서 설명합니다.

항목 설명

Target Database 데이터를 저장할 Hive의 Database

Target Table 데이터를 저장할 Hive의 Table

Truncate the table before

import

데이터를 저장하기 전 Table의 모든 데이터 삭제하는 경

우 체크

iii. 연결할 원본 데이터 Connection 유형 "DATABASE – Connection이름" 을 선택합니다.

iv. 가져올 DB데이터의 Select Query 를 입력합니다.

Page 51: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

44

v. 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭하여 데이터를 확인합니다.

vi. "Create" 버튼을 클릭하면 Import Job 생성이 완료됩니다.

4.3.3. Import Job 편집생성한 Import Job 정보에 대하여 편집하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Import Jobs]를 선택합니다.

2. Import Job 목록에서 편집 할 Import Job의 Name을 선택합니다.

3. 편집 화면에서 정보를 변경 하고 Preview 로 data mapping 확인 후 "Save" 버튼을 클릭합니다.

4.3.4. Import Job 복사기존 Import Job 정보를 복사하여 신규 Import Job을 생성하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Import Jobs]를 선택합니다.

2. Import Job 목록에서 복사 할 Import Job의 Name을 선택합니다.

3. 편집 화면 하단의 "Save as Copy" 버튼을 클릭합니다. (단, HIVE에 데이터를 저장하는 Import

Job의 경우 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭 후 "Save as Copy" 버튼 활

성화 됨)

4.3.5. Import Job 삭제생성한 Import Job 정보에 대하여 삭제하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Import Jobs]를 선택합니다.

2. Import Job 목록에서 삭제 할 Import Job의 Name을 선택합니다.

3. 편집 화면 상단의 "Delete" 버튼을 클릭합니다.

4. 삭제할 것인지 물어보는 확인 창이 나타나면 "Delete" 버튼을 클릭합니다.

Page 52: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 실행/중지

45

경고

해당 Import Job이 Workflow에서 사용중이거나 실행중인 경우 삭제할 수 없습니다.

4.3.6. Import Job 실행/중지Import Job을 실행하여 데이터를 가져오는 방법 및 실행중인 Import Job을 중지하는 방법에 대하여

설명합니다.

• Import Job 실행하는 방법

1. [Data Transfer] > [Import Jobs]를 선택합니다.

2. Import Job 목록에서 실행 할 Import Job의 Run을 선택합니다.

3. 실행할 것인지 물어보는 확인 창이 나타나면 "Run" 버튼을 클릭합니다.

4. 실행 되면 Import Job 목록에서 Status가 Preparing -> Running -> Succeeded 으로 상태가 변

경됩니다.

• Import Job 강제로 중지(KILL) 하는 방법

1. [Data Transfer] > [Import Jobs]를 선택합니다.

2. Import Job 목록에서 강제로 중지 할 Import Job의 Kill을 선택합니다.

3. 중지할 것인지 물어보는 확인 창이 나타나면 "Kill" 버튼을 클릭합니다.

4. 중지 되면 Import Job 목록에서 Status가 Killed 로 상태가 변경됩니다.

4.3.7. Import Job 검색데이터를 가져오기 위해서 생성한 Import Job List에 대하여 Filtering하는 방법에 대하여 설명합니

다.

1. 메뉴 위치

a. [Data Transfer] > [Import Jobs]

2. Filtering 방법

항목 설명

검색어 Import Job 및 Connection 이름을 입력합니다. (대소문자 구분

없음)

Connection Type Connection Type을 선택합니다.

Page 53: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

46

항목 설명

Status Import Job의 Status를 선택합니다.

4.3.8. Import Job 실행 결과 확인하기실행한 Import Job에 대하여 실행 결과를 확인하는 방법은 다음과 같습니다.

Page 54: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Import Job 실행 결과 확인하기

47

• Import Job 목록에서 Last Status 확인

• [Data Transfer] > [Import Jobs]에서 실행 이력 확인

• [Workbench]에서 Import 데이터 확인

Import Job 확인하는 방법에 대해서 자세히 설명합니다.

1. Import Job 목록에서 Last Status 확인

• Import Job 목록에서 Job의 마지막 실행 상태를 확인하는 방법에 대해서 설명합니다.

• a. [Data Transfer] > [Import Jobs]를 선택합니다.

b. "Last Status"에서 최종 실행 상태(가져온 데이터건수)를 확인 합니다.

c. 좀 더 상세한 이력은 show history를 선택합니다.

2. [Data Transfer] > [Import Jobs History]에서 실행 이력 확인

• Import Job의 실행이력을 확인하는 방법에 대해서 설명합니다. 사용자가 직접 실행한 이력

및 Workflow에서 실행한 모든 이력에 대하여 확인이 가능합니다. 보다 상세한 내용에 대해

서는 History Import/Export 를 참조하십시오.

• a. [Data Transfer] > [Import Jobs History]를 선택합니다.

b. Import Job의 실행이력 목록을 확인 합니다.

c. 실행 이력 별로 실행결과, Import Job 이름, 처리 결과 건수, Job Type, Job 실행 주체, 실

행시간 등에 대한 정보를 제공합니다. 또한, 실행중인 Import Job에 대해서 강제로 중지

(KILL)하는 기능도 제공합니다.

3. [Workbench]에서 Import 데이터 확인

• 데이터를 가져와서 Hive에 저장한 경우에는 Workbench에서 Import된 데이터를 조회할 수 있

습니다. Workbench에서 Import 결과 데이터를 확인하는 방법에 대해서 설명합니다. 보다 상

세한 내용에 대해서는 Workbench(데이터 Ad-hoc 분석)를 참조하십시오.

• a. Worksheet에서 직접 HIVE 테이블 데이터 조회

i. [Workbench] > [Table 선택] >

ii. 오른쪽에 Table Schema 보여지며 오른쪽 끝에 Create "Select..." Query로 HQL Sample

을 제공 합니다.

iii. 제공한 HQL Sample 을 선택 : 선택한 Table을 Select할 수 있는 HQL이 Worksheet에

copy 됩니다.

Page 55: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

48

b. 테이블 데이터 Preview

i. [Workbench] > [Table 선택] >

ii. 선택한 Table 정보가 오른쪽에 보여집니다.

iii. Preview tab 을 선택 : Import된 데이터를 볼수 있습니다. (20row display)

4.4. Export JobsExport Jobs 생성하기전에 Database Connection을 구성해야 합니다. Connection을 설정하는 방법은

Connections을 참조하십시오. Export Jobs 설정 방법에 대해서 설명 합니다.

1. Export Jobs의 화면은 다음과 같습니다.

2. Export Job의 메뉴 위치는 다음과 같습니다.

• [Data Transfer] > [Export Jobs]

3. Export Job에서 제공하는 기능은 다음과 같습니다.

• Export Job 추가/수정/삭제

• Export Job 실행 및 중지

4.4.1. Export Job생성Export Job 을 생성하는 방법에 대해서 설명합니다.

1. 생성할 Export Job 이름을 입력한다. (Job Type은 ‘HIVE_TO_DATABASE’ 로 고정)

2. Export 할 Database 및 HQL 조건식을 입력합니다.

3. 연결할 Database Connection 을 선택합니다.

Page 56: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Export Job 편집

49

4. Database 의 Target Table을 선택 합니다.

5. 미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭하여 컬럼과 타입 매핑을 확인 합니다.

6. "Create" 버튼을 클릭하면 Export Job 생성이 완료됩니다.

4.4.2. Export Job 편집생성한 Export Job 정보에 대하여 편집하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Export Jobs]

2. Export Job 목록에서 편집 할 Export Job의 Name을 선택합니다.

3. 편집 화면에서 정보를 변경 하고 Preview 로 data mapping 확인 후 "Save" 버튼을 클릭합니다.

(미리보기(Preview)에서 "Get Preview Data" 버튼을 클릭 후 "Save as Copy" 버튼 활성화 됨)

4.4.3. Export Job 복사기존 Export Job 정보를 복사하여 신규 Import Job을 생성하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Export Jobs]

2. Export Job 목록에서 복사 할 Export Job의 Name을 선택합니다.

3. 편집 화면의 Preview로 data mapping 확인 합니다.

4. 편집 화면 하단의 "Save Deploy" 버튼을 클릭합니다.

(미리보기(Preview)에서 "Get Preview Data"를 클릭 후 Save as Copy버튼 활성화 됨)

4.4.4. Export Job 삭제생성한 Export Job 정보에 대하여 삭제하는 방법에 대해서 설명합니다.

1. [Data Transfer] > [Export Jobs]

2. Export Job 목록에서 삭제 할 Export Job의 Name을 선택합니다.

3. 편집 화면 상단의 "Delete" 버튼을 클릭합니다.

4. 삭제할 것인지 물어보는 확인 창이 나타나면 "Delete" 버튼을 클릭합니다.

Page 57: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

4장. Data Transfer

50

경고

해당 Export Job이 Workflow에서 사용중이거나 실행중인 경우 삭제할 수 없습니다.

Page 58: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

51

HDFS Browser이 장에서는 NDAP Web의 메인 메뉴 HDFS Browser에서 데이터를 가져오고, 내보내는 방법 및

Repository에 파일 업로드 하는 방법에 대하여 설명합니다.

1. HDFS Browser의 화면은 다음과 같습니다.

2. aHDFS Browser의 메뉴 위치는 다음과 같습니다.

• [HDFS Browser]

3. HDFS Browser에서 제공하는 기능은 다음과 같습니다.

• HDFS 저장소

• HDFS 디렉토리 탐색기

• HDFS 파일 탐색기

• 디렉토리 생성

• 디렉토리 및 파일의 이동/복사/삭제/변경

• 파일 업로드/다운로드

• 파일 권한 부여

• 파일 내용 미리보기

5.1. HDFS 저장소HDFS 저장소에 대해서 설명합니다.

• private repository는 유저별로 1개의 디렉토리가 생성되며 해당 유저만 접근이 가능합니다.

Page 59: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

5장. HDFS Browser

52

• public repository는 모든 유저가 접근 가능합니다. 파일 또는 디렉토리를 생성하면 생성한 유저에

대한 접근권한이 부여됩니다.

• root repository는 오직 admin 유저만 접근이 가능하며 모든 디렉토리에 접근이 가능합니다.

경고

admin만 볼 수 있는 root repository는 하둡 에코시스템에서 사용하는 디렉토리까지 접근권한

을 가지고 있습니다.

만약 root repository에서 특정 디렉토리를 삭제할 경우, 사용 여부를 확인하고 지우시기 바랍

니다.

5.2. HDFS 디렉토리 탐색기HDFS 디렉토리 탐색기 사용하는 방법에 대해서 설명합니다.

• 디렉토리명을 클릭하면 해당 디렉토리로 이동하면서 해당 디렉토리의 하위 디렉토리를 볼 수 있

습니다.

버튼을 클릭하면 해당 디렉토리의 하위 디렉토리를 볼수 있으며 동시에 해당 디렉토리로 이동합

니다.

• 버튼을 클릭하면 해당 디렉토리의 하위 디렉토리 리스트를 닫을 수 있습니다.

• 버튼을 클릭하면 현재 디렉토리를 새로고침하여 하위 디렉토리를 확인 할 수 있습니다.

5.3. HDFS 파일 탐색기HDFS 파일 탐색기 사용하는 방법에 대해서 설명합니다.

Page 60: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

디렉토리 생성

53

클릭하면 해당 파일 or 디렉토리를 선택 가능합니다.

최상위 를 클릭하면 현재 디렉토리의 모든 파일과 디렉토리를 선택 가능합니다.

를 클릭하면 현재 경로를 클립보드에 복사합니다.

를 클릭하면 접근권한, 파일이동, 파일 복사, 이름변경, 삭제를 선택할 수 있습니다.

• 파일이름을 클릭하면 해당 파일 내용을 볼 수 있습니다.

사용시 주의사항

다중선택으로 가능한 동작은 Permissions, Move, Copy, Delete 뿐입니다.

Rename의 경우는 현재 디렉토리 또는 현재 파일에 대해서 이름변경이 가능합니다. 따라서

를 클릭하여 디렉토리나 파일의 이름을 변경 할 수 없습니다.(단일 선택해도 사용 불

가)

5.4. 디렉토리 생성디렉토리를 생성하는 방법에 대해서 설명합니다.

Page 61: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

5장. HDFS Browser

54

1. HDFS 디렉토리 탐색기를 이용해 생성하려는 디렉토리를 이동합니다.

2.

를 선택합니다.

3. 디렉토리 이름을 입력합니다.

4. 입력한 후 Enter 키를 누릅니다.

5.5. 디렉토리/파일 이동파일이나 디렉토리를 이동하는 방법에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용해 생성하려는 디렉토리를 이동합니다.

2. HDFS 파일 탐색기에서 이동하고자 하는 디렉토리 또는 파일을 선택합니다.(다중선택 가능)

3.

버튼 클릭 후 Move을 선택합니다.

4. 다음 화면에서 이동할 경로 정보를 설정합니다.

Page 62: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

디렉토리/파일 복사

55

5.

를 선택시, 파일을 overwirte 합니다.(디렉토리는 overwrite가 불가능합니다.)

6. 입력한 후 "Move" 버튼을 누릅니다.

5.6. 디렉토리/파일 복사파일이나 디렉토리를 복사하는 방법에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용하여 파일 또는 디렉토리가 있는 위치로 이동합니다.

2. HDFS 파일 탐색기에서 복사할 디렉토리 또는 파일을 선택합니다.(다중선택 가능)

3.

버튼 클릭 후 Copy을 선택합니다.

4. 다음 화면에서 이동할 경로 정보를 설정합니다.

Page 63: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

5장. HDFS Browser

56

5. 입력한 후 Copy 버튼을 누릅니다.

5.7. 디렉토리/파일 이름 변경파일이나 디렉토리에 대해서 이름을 변경하는 방법에 대해서 설명합니다.

1. 이름을 바꾸자하는 대상이 디렉토리면 HDFS 디렉토리 탐색기로 해당 위치까지 이동합니다.

이름을 바꾸자하는 대상이 파일이면 HDFS 디렉토리 탐색기로 해당 위치까지 이동하고, HDFS

파일 탐색기에서 파일을 클릭합니다.

2.

버튼 클릭 후 Rename 을 선택합니다.(다중선택 불가능)

3. 변경할 이름을 입력합니다.

4. 입력한 후 "Enter" 버튼을 누릅니다.

5.8. 디렉토리/파일 삭제파일이나 디렉토리에 대해서 삭제하는 방법에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용하여 파일 또는 디렉토리가 있는 위치로 이동합니다.

2. HDFS 파일 탐색기에서 삭제할 디렉토리 또는 파일을 선택합니다.(다중선택 가능)

Page 64: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

파일 업로드

57

3.

버튼 클릭 후 Delete을 선택합니다.

4. 삭제할 것인지 물어보는 확인 창이 나타나면 "Delete" 버튼을 클릭합니다.

5.9. 파일 업로드파일을 업로드 하는 방법에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용하여 파일을 업로드 하려는 디렉토리 위치로 이동합니다.

2.

버튼을 클릭합니다.

3. 업로드 할 파일을 선택하고, 열기를 선택하거나 더블클릭 합니다.

Tip

업로드 파일 용량 제한 : 1GB

5.10. 파일 다운로드파일 다운로드에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용하여 다운로드 받을 디렉토리 위치로 이동합니다.

2. HDFS 파일 탐색기에서 다운로드 할 파일을 선택합니다.

3. 선택된 파일의 파일 정보와 함께 Content Preview 화면이 나타납니다.

4.

버튼을 클릭합니다.

5.11. 파일 권한파일이나 디렉토리에 대해서 권한 설정에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용하여 권한을 변경할 디렉토리 위치로 이동합니다.

2. HDFS 파일 탐색기에서 권한 변경할 디렉토리 또는 파일을 선택합니다.(다중선택 가능)

Page 65: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

5장. HDFS Browser

58

3.

버튼 클릭 후 Permissions을 선택합니다.

4. 다음 화면에서 Owner 및 Permissions 정보를 설정합니다.

5. Owner는 파일의 소유자를 설정 할 수 있습니다.

Page 66: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

파일 내용 미리보기

59

6. Permissions은 파일의 접근권한을 설정 할 수 있습니다.

리눅스의 파일접근권한 표현방식을 따릅니다. (단, Execute권한을 줘도 파일은 실행되지 않습

니다.)

7.

를 클릭하면 하위 디렉토리까지 전부 권한을 변경

합니다.

8. 설정을 마친 후 Apply 키를 누릅니다.

5.12. 파일 내용 미리보기Plain Text File에 대한 파일 내용 미리보기에 대해서 설명합니다.

1. HDFS 디렉토리 탐색기를 이용하여 파일이 있는 위치로 이동합니다.

2. HDFS 파일 탐색기에서 미리보기 할 파일명을 선택합니다.(다중선택 불가능)

3. 선택된 파일의 파일 정보와 함께 Content Preview 화면이 나타납니다.

Page 67: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

5장. HDFS Browser

60

4.

버튼 클릭하면 이전 디렉토리로 이동합니다.

5. offset을 조정하면 파일의 특정 부위만 필터링하여 볼 수 있습니다.

Page 68: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

61

WorkbenchNDAP 워크벤치는 Hive, Presto 데이터베이스의 테이블이나 컬럼들을 확인하고 쿼리를 실행하여

결과를 확인하기 위한 도구입니다. 단일 쿼리를 실행할 수도 있고 여러 쿼리를 한번에 순차적으로

실행할 수도 있습니다. 또는 워크시트의 특정 쿼리를 선택하여 실행하는 것도 가능합니다.

6.1. NDAP Workbench 시작하기NDAP Workbench에서 제공하는 기능은 다음과 같습니다.

• 쿼리 실행

• 스니핏

• 쿼리 실행 이력/결과 확인

• 스키마 관리

Workbench 화면은 다음과 같습니다.

좌측 위 를 클릭하여 SQL 실행 엔진

을 선택 할 수 있습니다.

좌측 를 클릭하여 움직이면 왼쪽 창 크기를 조절 할 수 있습니다.

Page 69: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

62

가운데 를 클릭하여 움직이면 Worksheet 창 크기를 조절 할 수 있습니다.

6.2. WorksheetsWorksheets를 사용하는 방법에 대해서 설명합니다.

1. Worksheets의 화면은 다음과 같습니다.

2. Worksheets의 메뉴 위치는 다음과 같습니다.

• [Workbench] > [Editor]

3. Worksheets에서 제공하는 기능은 다음과 같습니다.

• Query 실행하기

• Explain 실행하기

• SQL 파일 불러오기

• SQL 파일 저장하기

• 스니핏으로 저장하기

• 글씨 크기 조절하기

• 쿼리 자동완성 사용하기

• 워크시트 설정

Page 70: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Query 실행하기

63

6.2.1. Query 실행하기실행할 쿼리를 입력한 다음

버튼을 클릭합니다.

Tip

쿼리를 단독 쿼리만 할 수도 있고, 여러 쿼리를 한꺼번에 실행하거나 입력한 여러 쿼리문 중

특정 쿼리만 선택하여 실행할 수 있습니다.

Ctrl + Enter로 선택된 쿼리를 바로 실행할 수 있습니다.

WorkSheet 저장

엔진 별로 worksheets에 쿼리는 저장됩니다.

Hive 예약된 키워드

다음은 Hive에서 사용하는 키워드입니다. 키워드는 식별자(identifiers)로 사용하실 수 없습니

다.

orc 테이블 암호화시 에러

Hive 2.1.0 부터 orc 테이블에 alter query를 수행 할 수 없습니다.

해당 내용은 다음 URL에서 확인 할 수 있습니다.https://issues.apache.org/jira/browse/HIVE-12728

Version 예약된 키워드

Hive 1.2.0 ALL, ALTER, AND, ARRAY, AS, AUTHORIZATION, BETWEEN,

BIGINT, BINARY, BOOLEAN, BOTH, BY, CASE, CAST, CHAR,

COLUMN, CONF, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE,

CURRENT_TIMESTAMP, CURSOR, DATABASE, DATE, DECIMAL, DELETE,

DESCRIBE, DISTINCT, DOUBLE, DROP, ELSE, END, EXCHANGE, EXISTS,

EXTENDED, EXTERNAL, FALSE, FETCH, FLOAT, FOLLOWING, FOR,

FROM, FULL, FUNCTION, GRANT, GROUP, GROUPING, HAVING, IF,

IMPORT, IN, INNER, INSERT, INT, INTERSECT, INTERVAL, INTO, IS,

Page 71: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

64

Version 예약된 키워드

JOIN, LATERAL, LEFT, LESS, LIKE, LOCAL, MACRO, MAP, MORE, NONE,

NOT, NULL, OF, ON, OR, ORDER, OUT, OUTER, OVER, PARTIALSCAN,

PARTITION, PERCENT, PRECEDING, PRESERVE, PROCEDURE, RANGE,

READS, REDUCE, REVOKE, RIGHT, ROLLUP, ROW, ROWS, SELECT, SET,

SMALLINT, TABLE, TABLESAMPLE, THEN, TIMESTAMP, TO, TRANSFORM,

TRIGGER, TRUE, TRUNCATE, UNBOUNDED, UNION, UNIQUEJOIN,

UPDATE, USER, USING, UTC_TMESTAMP, VALUES, VARCHAR, WHEN,

WHERE, WINDOW, WITH

Hive 2.0.0 added: COMMIT, ONLY, REGEXP, RLIKE, ROLLBACK, START

Hive 2.1.0 added: CACHE, CONSTRAINT, FOREIGN, PRIMARY, REFERENCES

Hive 2.2.0 added: DAYOFWEEK, EXTRACT, FLOOR, INTEGER, PRECISION, VIEWS

Presto 예약된 키워드

다음은 Presto에서 사용하는 키워드입니다. 키워드는 식별자(identifiers)로 사용하실 수 없습니

다.

Version 예약된 키워드

Presto 0.197 ALTER, AND,AS, BETWEEN, BY, CASE, CAST, CONSTRAINT, CREATE,

CROSS, CUBE, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,

DEALLOCATE, DELETE, DESCRIBE, DISTINCT, DROP, ELSE, END, ESCAPE,

EXCEPT, EXECUTE, EXISTS, EXTRACT, FALSE, FOR, FROM, FULL, GROUP,

GROUPING, HAVING, IN, INNER, INSERT, INTERSECT, INTO, IS, JOIN,

LEFT, LIKE, LOCALTIME, LOCALTIMESTAMP, NATURAL, NORMALIZE,

NOT, NULL, ON, OR, ORDER, OUTER, PREPARE, RECURSIVE, RIGHT,

ROLLUP, SELECT, TABLE, THEN, TRUE, UESCAPE, UNION, UNNEST,

USING, VALUES, WHEN, WHERE, WITH

6.2.2. Explain 실행하기

실행할 쿼리를 입력한 다음 버튼을 클릭합니다.

6.2.3. SQL 파일 불러오기

버튼을 클릭하고 .sql 파일을 선택하면 쿼리를 worksheet에 불러 올 수 있습니다.

6.2.4. SQL 파일 저장하기

버튼을 클릭하면 현재 worksheet의 쿼리를 .hql 파일로 저장 할 수 있습니다.

Page 72: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

스니핏으로 저장하기

65

6.2.5. 스니핏으로 저장하기

버튼을 클릭하면 쿼리를 snippet로 저장 할 수 있습니다.

6.2.6. 글씨 크기 조절하기

버튼을 클릭하면 worksheet의 쿼리 글씨 크기를 조절 할 수 있습니다.

다음과 같이 3가지 크기로 글씨를 조절 할 수 있습니다.

6.2.7. 쿼리 자동완성 사용하기

은 쿼리의 자동완성 기능입니다.

Hive 쿼리의 명령어와 현재 SCHEMAS의 표시된 테이블과 컬럼에 대해서 자동완성 기능을 제공합

니다.

다음과 같이 쿼리를 작성시 자동완성 기능을 제공합니다.

Page 73: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

66

Tip

버튼색이 녹색이면 활성화 상태이며 쿼리 자동완성 기능을 사용중입니다.

버튼색이 검은색이면 비활성화 상태이며 쿼리 자동완성 기능을 사용중이지 않습니다.

[Ctrl + space] 단축키를 통하여 쿼리 자동완성 기능이 비활성화 상태라도 쿼리 자동완성을 사

용 할 수 있습니다.

6.2.8. 워크시트 설정다음은 워크시트의 설정에 관한 내용입니다.

버튼을 클릭하면 워크시트 설정창이 열립니다.

항목 설명

Rename 해당 워크시트의 이름을 변경합니다.

Create 새로운 워크시트를 생성합니다.

Delete All 해당 워크시트의 내용을 모두 지웁니다.

Dark Theme 워크시트의 테마를 검은색으로 변경합니다.

Worksheet List 생성된 워크시트의 리스트를 보여줍니다.

워크시트 리스트 옆에 있는 버튼 클릭시 해당 워크시트는

삭제됩니다.

버튼은 현재 워크시트 사이즈를 최대화면으로 키웁니다.

버튼은 현재 워크시트 사이즈를 원래크기로 되돌립니다.

버튼은 워크시트 사이즈를 최소화 합니다.

Page 74: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Snippets

67

6.3. Snippets

6.3.1. 스니핏 카테고리 생성등록하여 관리하는 스니핏이 많을 경우에는 카테고리별로 관리하면 할 수 있습니다. 스니핏의 카

테고리를 작성하려면, 스닛핏을 등록하는 화면의 Category 항목에 추가하려는 카테고리 이름을 입

력한 후 엔터 키를 누르면 자동으로 등록하게 됩니다.

6.3.2. 스니핏 카테고리 삭제스니핏 카테고리 삭제의 과정은 다음과 같습니다.

1. 해당 카테고리에 속한 스니핏을 클릭하여 스니핏을 수정하는 화면으로 이동합니다.

2. Category 항목에 삭제할 카테고리 이름을 입력한 후 그 카테고리의 이름에 마우스 커서를 올

려서 나타나는 "X" 버튼을 클릭합니다.

6.3.3. 스니핏 등록자주 사용하는 쿼리를 미리 등록해 두면 계속해서 재사용할 수 있습니다.

1. 쿼리입력창에 있는 쿼리가 저장할 내용이 맞는지 확인합니다.

2.

쿼리입력창의 메뉴바에 있는 쿼리로 저장하기 아이콘 을 클릭하십시오.

3. 아래 표를 참고하여 스니핏을 등록한 후 "Create Snippet" 버튼을 클릭하십시오.

스니핏을 생성하는 화면 항목에 대해서 설명합니다.

항목 설명

Category 해당 스니핏을 넣을 카테고리를 지정하는 항목

Sharing 해당 스니핏을 다른 사용자도 공유할 수 있도록 지정하는 항

Name 해당 스니핏의 이름을 지정하는 항목

Comment 참고할 정보를 메모할 수 있는 항목

Page 75: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

68

항목 설명

Create 입력한 내용을 저장하고 작업을 끝내기 위한 버튼

4. 다음과 같이 스니핏 목록에 해당 항목이 나타나는 것을 확인할 수 있습니다.

6.3.4. 스니핏 수정스니핏을 수정할 때 관련 요소는 크게 다음과 같이 두 가지입니다.

• 스니핏 정보 수정하기

• 스니핏 쿼리 수정하기

• 스니핏 정보 수정하기

1. [Workbench] > [Snippets]

2. 수정할 스니핏 클릭하면 선택한 스니핏 수정 화면을 볼 수 있습니다.

3. 오른쪽 상단의 "Edit" 버튼을 클릭 합니다.

4. 필요한 내용을 수정 하고 "Save" 버튼을 클릭합니다.

Page 76: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

저장한 스니핏 불러오기

69

• 스니핏 쿼리 수정하기

Tip

이 제품에서 지원하는 스니핏의 쿼리를 수정하는 방식은 기존 스니핏에 해당하는 쿼리를

수정하는 방법이 아닙니다. 그러므로 이 절에서 설명하는 방법은 등록해 놓은 쿼리를 쿼리

편집기에 적용한 다음 원하는 대로 고쳐서 다른 이름의 스니핏으로 새로 추가하는 방식입

니다.

스니핏 등록을 참조 바랍니다.

6.3.5. 저장한 스니핏 불러오기스니핏 불러오는 방법은 다음과 같습니다.

1. [Workbench] > [Snippets]

2. 사용할 Snippets 선택 합니다.

3. 선택한 Snippets 우측에 있는 "Copy to Editor" 버튼을 클릭 합니다.

6.3.6. 스니핏 삭제하기스니핏 삭제하는 방법은 다음과 같습니다.

1. [Workbench] > [Snippets]

2. 삭제할 스니핏을 클릭 합니다.

3. Snippet Detail 화면의 우측에 있는 "Delete" 버튼을 클릭 합니다.

4. 삭제확인을 위한 Pop-up 창에서 "Delete" 버튼을 클릭합니다.

5. 삭제확인을 위한 Pop-up 창에서 "Cancel" 버튼을 클릭하면 작업을 취소 할 수 있습니다.

Page 77: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

70

6.4. History쿼리를 실행결과를 확인하려면 다음 순서대로 진행 합니다.

1. History 화면은 다음과 같습니다.

2. History의 메뉴 위치는 다음과 같습니다.

• [Workbench] > [History]

3. History에서 제공하는 기능은 다음과 같습니다.

• 쿼리 실행 이력 확인

• 쿼리 실행 결과 확인

• 쿼리 재실행

• 실행중인 쿼리 중지

6.4.1. 쿼리 실행 이력 확인History 화면은 다음과 같습니다.

History 대한 항목별 설명입니다.

항목 설명

Status 실행한 쿼리에 대한 상태를 나타내며 상태는 다음과 같이 4가지

로 나눌 수 있습니다.

: 실행 준비 중인 상태

Page 78: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

쿼리 실행 결과 확인

71

항목 설명

: 실행 중인 상태

: Error 발생 없이 정상적으로 실행이 완료된 상태

: 실행 중 Error 발생으로 Kill 된 상태

Executed Query 실행한 쿼리를 확인 할 수 있습니다.

User 쿼리를 실행한 유저를 나타냅니다.

Rows 쿼리의 결과 Row 수를 나타냅니다.

Time 쿼리의 수행시간을 나타냅니다.

Action 해당 쿼리에 대한 액션 버튼이 나타납니다.

6.4.2. 쿼리 실행 결과 확인쿼리를 클릭하면 다음과 같은 화면을 볼 수 있습니다.

항목 설명

Result 해당 쿼리의 결과를 보여줍니다.

Explain 해당 쿼리의 Explain를 보여줍니다.

Query 실행한 쿼리에 대해서 보여줍니다.

Jobs(Hive 엔진 전용) 실행한 쿼리의 Job의 실행된 갯수, Job의 상태를 확인 할 수 있

습니다.

Execution State(Presto 엔진 전

용)

실행한 쿼리의 Stage, Task의 실행된 갯수, Stage, Task의 상태를

확인 할 수 있습니다.

Copy to Editor 실행한 쿼리를 Worksheet에 복사합니다.

Download 실행한 결과를 csv, excel format 으로 저장합니다.

6.4.2.1. Query Result Grid 조작 방법쿼리 결과를 보여주는 Grid의 조작방법에 대해서 설명합니다.

1. 컬럼 사이즈 조절

Page 79: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

72

Grid에서 컬럼과 컬럼 사이에 있는 선을 클릭하고 움직이면 컬럼 사이즈를 변경 가능합니다.

다음은 컬럼 이동하는 예시입니다. 컬럼과 컬럼사이에 있는 선을 클릭하고 드래그앤 드롭하면,

원하는 컬럼 사이즈로 변경 할 수 있습니다.

컬럼 사이즈 조절을 마친 화면입니다.

2. 컬럼 이동

Grid에서 컬럼을 클릭하여 움직이면 컬럼의 순서를 변경 가능합니다.

다음은 컬럼 이동하는 예시입니다. 이동을 원하는 컬럼의 컬럼네임 부분을 마우스로 드래그앤

드롭하면, 원하는 위치로 이동 할 수 있습니다.

컬럼 이동을 마친 화면입니다.

Page 80: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

쿼리 실행 결과 확인

73

3. 컬럼 옵션

Grid에서 컬럼 오른쪽에

를 클릭하면 컬럼 옵션이 보입니다.

옵션은 다음과 같습니다.

• Sort Ascending : 오름차순 정렬

• Sort Descending : 내림차순 정렬

• Hide Column : 컬럼 숨기기

주의사항

컬럼 row수가 1000보다 큰 경우, 1000개만 화면에 출력합니다. 따라서 오름차순 or 내림

차순 정렬을 할 경우, 전체 데이터가 아닌 현재 가져온 1000개에 대해서 정렬합니다. 전

체 데이터가 필요하면 Download 버튼을 클릭하여 원본 데이터를 다운 받아야 합니다.

숨긴 컬럼에 대해서 되살리는 기능은 없습니다. Brower를 Refresh해야 숨겨진 컬럼을 다

시 볼 수 있습니다.

Page 81: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

74

6.4.3. 쿼리 재실행

실행 완료된 쿼리의 경우, 버튼이 활성화 되고 클릭시 쿼리를 재수행 할 수 있습니다.

6.4.4. 실행중인 쿼리 중지

실행 중인 쿼리의 경우, 버튼이 활성화 되고 클릭시 쿼리 수행을 멈출 수 있습니다.

6.5. Hive SchemasHive Schemas 사용하는 방법에 대해서 설명합니다. Hive Schemas는 Workbench 좌측 상단에 HIVE

메뉴가 활성화 되었을때 사용 가능한

기능입니다.

1. Schemas의 화면은 다음과 같습니다.

Page 82: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

데이터베이스 생성/삭제

75

2. Schemas의 메뉴 위치는 다음과 같습니다.

• [Workbench] > [SCHEMAS]

3. Schemas에서 제공하는 기능은 다음과 같습니다.

• 데이터베이스 생성/삭제

• 테이블 생성/삭제

• 데이터 삽입/추출

• 외부 데이터베이스 스키마 복제

• 테이블 즐겨찾기

• Schema 새로고침

• 암호화

6.5.1. 데이터베이스 생성/삭제데이터베이스 생성 및 삭제에 대해서 설명합니다.

1. 데이터베이스 생성

Page 83: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

76

a.

[Workbench] > [SCHEMAS] > [ ] > [Create Database]

b. Database Name 에 데이터베이스 입력을 입력합니다.

c. "Create" 버튼을 클릭합니다.

2. 데이터베이스 삭제

a. [Workbench] > [SCHEMAS]

b. SCHEMAS 목록에서 삭제 할 데이터베이스를 선택합니다.

c. "Drop Database" 버튼을 클릭합니다.

6.5.2. 테이블 생성/삭제테이블 생성/삭제에 대해서 설명합니다.

• 테이블 생성하는 방법은 다음과 같습니다.

1.

[Workbench] > [SCHEMAS] > [ ] > [Create Table]

2. Database를 선택합니다.

3. Table Name 입력합니다.

Page 84: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

테이블 생성/삭제

77

4. 테이블 설명이 필요 하면 Comments를 작성합니다.

5. Type/Storage를 선택합니다.

Type/Storage 에 따라 이후 Operation이 다릅니다.

a. i. Managed/HDFS로 설정 할 경우, Encryption과 Partition Columns을 설정 할 수 있습니

다.

ii. 화면은 다음과 같습니다.

iii. 이후 컬럼을 편집합니다.

b. i. Managed/HBase로 설정 할 경우, Encryption과 Time To Live (TTL)과 RowKey를 반드

시 설정해야 합니다.

ii. 화면은 다음과 같습니다.

iii. 이후 컬럼을 편집합니다.

c. i. External/HDFS로 설정 할 경우, Location과 Field Terminator 를 반드시 설정 해야 합

니다.

ii. 화면은 다음과 같습니다.

iii. 이후 컬럼을 편집합니다.

Page 85: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

78

d. i. External/JDBC로 설정 할 경우, Connection를 지정해야하며(RDB connection 선택 가

능) source table을 지정해야합니다.

ii. 화면은 다음과 같습니다.

iii. source table 지정 후 Get Columns를 클릭해야 합니다.

iv. 외부 데이터베이스에서 스키마 정보를 가져옵니다.

v. 이후 컬럼을 편집합니다.

e. i. External/JDBC로 설정 할 경우, Connection를 지정해야하며(RDB connection 선택 가

능) source table을 지정해야합니다.

ii.

iii. 이후 컬럼을 편집합니다.

Page 86: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

테이블 생성/삭제

79

f. i. External/PHOENIX로 설정 할 경우, Row Key를 반드시 지정해야합니다.

Phoenix Row Key 주의사항

Phoenix RowKey에는 소문자만 사용할 수 있습니다.

ii. 화면은 다음과 같습니다.

iii. Options는 PHOENIX 테이블 생성할때 피닉스에 전달해주는 옵션입니다.

Tip!

옵션을 확인 하려면 https://phoenix.apache.org/language/index.html#options에서

확인 할 수 있습니다.

iv. 이후 컬럼을 편집합니다.

Page 87: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

80

binary Type 사용 시 주의사항

PHOENIX 테이블 생성에서 binary type을 사용하기 위해서는 데이터의 길이를

명시해야합니다. NDAP UI화면에서 해당 기능을 지원하지 않으므로 binary type

을 사용하기 위해서는 아래 방법을 참고하십시오.

1. 테이블 생성 화면에서 Database,Table Name, Type/Storage, Comment, Columns,

Row Key, Options를 입력합니다.

2. Show HQL버튼을 클릭합니다.

3. HQL을 클립보드에 복사합니다.

4. 복사된 HQL을 Workbecn-Worksheets에 붙여넣습니다.

5. HQL에서 PHOENIX의 binary 타입의 데이터 길이를 입력합니다.

Column Name : col_binary, Column Type : binary, Length of data : 100

기존 HQL : "phoenix.column.mapping" =

"col_string:col_string,col_double:col_double,col_int:col_int,col_binary:col_binary",

변겅된 HQL : "phoenix.column.mapping" =

"col_string:col_string,col_double:col_double,col_int:col_int,col_binary:col_binary(100)",

6. Excute를 눌러 쿼리를 실행합니다.

6. "Create" 버튼을 클릭합니다.

• 테이블 삭제

1. [Workbench] > [SCHEMAS]

2.

Tables 목록에서 삭제 할 테이블에서 아이콘을 클릭합니다.

3. "Drop Table" 버튼을 클릭합니다.

6.5.3. 데이터 삽입/추출데이터 삽입/추출에 대해서 설명합니다.

1. 데이터 삽입

a. [Workbench] > [SCHEMAS]

b.

Tables 목록에서 데이터를 삽입할 테이블에서 아이콘을 클릭합니다.

c. Import Data를 선택합니다.

d. 이후 상세한 설정은 Data Transfer의 Import Job 생성을 참조하세요.

2. 데이터 추출

Page 88: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

테이블 즐겨찾기

81

a. [Workbench] > [SCHEMAS]

b.

Tables 목록에서 데이터를 추출할 테이블에서 아이콘을 클릭합니다.

c. Export Data를 선택합니다.

d. 이후 상세한 설정은 Data Transfer의 Export Job 생성을 참조하세요.

6.5.4. 테이블 즐겨찾기테이블 즐겨찾기하는 방법에 대해서 설명합니다.

1. SCHEMAS의 화면은 다음과 같습니다.

2. Tables 목록에서 즐겨찾기 할 테이블을 클릭합니다.

3. 테이블을 클릭하면 다음과 같은 화면이 나옵니다.

Page 89: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

82

4.

테이블 이름 옆에 있는 을 클릭합니다.

즐겨찾기 한 테이블을 확인하는 방법에 대해서 설명합니다.

1.

[Workbench] > [SCHEMAS] > [ ]

2.

[SCHEMAS] 옆에 있는 을 클릭하면 즐겨찾기 한 테이블을 확인할 수 있습니다.

3.[SCHEMAS] 옆에 있는 을 클릭하면 테이블 전체 목록을 확인할 수 있습니다.

Page 90: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Schema 새로고침

83

Tip

즐겨찾기 한 테이블은 데이터베이스 별로 분류 됩니다.

6.5.5. Schema 새로고침Schema 새로고침에 대해서 설명합니다.

1. [Workbench] > [SCHEMAS]

2. 아이콘을 클릭합니다.

3. 데이터베이스 목록과 테이블 목록이 새로고침 됩니다.

6.5.6. 외부 데이터베이스 스키마 복제외부 데이터베이스에 있는 스키마를 HDFS에 적재되는 테이블 스키마로 복제하는 기능을 설명합

니다.

1. [Workbench] > [SCHEMAS]

Page 91: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

84

2.

아이콘을 클릭합니다.

3. Clone Schema를 선택합니다.

4. 타겟 데이터베이스를 선택을 선택합니다.

5. Connection을 선택합니다.

a. [Transfer] > [Connection] 에서 미리 정의한 Connection을 선택합니다.(RDB connection 만

선택 가능)

를 클릭하면 Connection 리스트 정보를 갱신 할 수 있습니다.

b.

를 클릭하면 외부 데이터베이스에 있는 소스 테이블 정보를 확인 할 수 있습니다.

c. 소스 테이블을 클릭하면 테이블의 스키마 정보를 확인 할 수 있습니다.

Page 92: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

외부 데이터베이스 스키마 복제

85

6. 소스 테이블을 선택합니다.

a. 외부 데이터베이스에 있는 테이블을 선택합니다.

b.

를 클릭하면 외부 데이터베이스에 있는 테이블의 스키마를 불러 옵니다.

7. 타겟 테이블 이름을 작성합니다. 기본 값으로 외부 데이터베이스에 있는 소스 테이블 이름을

불러오며 편집 가능합니다.

8. Type/Storage를 선택합니다.

9. 타겟 테이블 설명이 필요하다면 Comment를 작성합니다.

10. 타겟 테이블의 schema 컬럼의 설정을 수정합니다.

Page 93: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

86

• Reorder : 컬럼의 순서를 드래그앤 드랍으로 바꿀 수 있습니다.

• Origin Name : 원천 테이블의 컬럼명 입니다.

• Name : 타켓 테이블에 작성될 이름입니다. 기본 값으로 원천 테이블 명을 가져오며 편집 가

능합니다.

• Origin Type : 원천 테이블의 데이터 타입 입니다.

• Type : 타겟 테이블에 작성될 데이터 타입입니다. 기본적으로 타입 추론을 통해 타입이 작성

되며 사용자가 직접 바꿀 수도 있습니다.

• Comment : 컬럼에 대한 코맨트를 작성 할 수 있습니다.

• Encryption : 컬럼에 대한 암호화를 선택 할 수 있습니다. 암호화는 테이블 컬럼이 String에

대해서만 가능하며 Type/Storage이 External/HDFS 일 경우 암호화를 사용 할 수 없습니다.

•Constraint : 원천 테이블의 컬럼의 제약조건을 표현 합니다. 은 primary key를 표현합니

다. 은 not null을 표현합니다.

• Delete : 타겟 테이블에서 필요 없는 컬럼은 버튼을 눌러 삭제 할 수 있습니다.

• Operation : 컬럼에 추가 설정 할 수 있습니다. Type/Storage에 따라 추가적으로 설정이 달라

집니다.

• Add Column : 버튼을 클릭하면 사용자가 타겟 테이블의 컬럼을 추가 할 수 있습니다.

다음은 Type/Storage에 따라 달라지는 Operation 설정입니다.

• Managed/HDFS

Managed/HDFS의 경우 Operation 에서 버튼이 활성화 되고 다음과 같은 설

정을 더 할 수 있습니다.

Partition Columns : 을 누르면 해당 컬럼이 파티션 컬럼으로 지정됩니다.

(다중선택 가능)

• Managed/HBase

Page 94: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

암호화

87

Managed/HBase의 경우 Operation 에서 버튼이 활성화 되고 다음과 같은 설정

을 더 할 수 있습니다.

Partition Columns : 을 누르면 해당 컬럼이 rowkey로 지정됩니다.

(Managed/HBase의 경우 반드시 1개 이상의 RowKey가 필요합니다.)

• Time To Live (TTL) : Unlimited 와 Limited 설정을 할 수 있습니다.

• External/HDFS

External/HDFS의 경우 Operation 에서 버튼이 활성화 되고 다음과 같은 설정

을 더 할 수 있습니다.

c 을 누르면 해당 컬럼이 파티션 컬럼으로 지정됩니다.(다중선택 가능)

• Location : External 테이블의 로케이션을 지정합니다.

• Field Terminator : 파일딜리미터를 지정합니다.

11. Create를 클릭하면 테이블이 생성됩니다.

12. show HQL를 클릭하면 테이블을 생성하는 HQL를 확인 할 수 있습니다.

6.5.7. 암호화• NDAP Hive Workbench에서는 컬럼 단위의 암호화를 통한 데이터 보호 기능을 제공합니다.

• 내부적으로 수행되는 암/복호화 키 발급 절차가 있으므로 반드시 UI 기능을 통해서 create table

을 수행하여야 합니다.

• 최초 테이블을 생성한 owner라도 권한을 부여받기 전에는 decryption 권한이 없습니다.

• 암호화는 String Column만 가능합니다.

Page 95: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

88

6.5.7.1. 암호화 테이블 생성암호화 테이블을 생성하려면 다음 순서대로 진행 합니다.

1. [Workbench] > [SCHEMAS] > [database 선택] > [Create Table]

2. [Managed / HDFS 타입] > [암호화할 컬럼에 Encryption 체크] > [Create]

3. 이렇게 생성된 table은 hdfs에 적재되는 시점에 암호화된 데이터로 저장되어 복호화 과정을 거

치지 않으면 정상적인 데이터 조회가 불가능합니다.

6.5.7.2. 암호화 테이블 제약사항암호화 테이블은 다음 쿼리는 사용할 수 없습니다.

명령어 예제

LOADLOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE

tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

ALTER

#컬럼추가

hive> ALTER TABLE table_name [PARTITION partition_spec] ADD COLUMNS

(col_name data_type [COMMENT col_comment], ...)[CASCADE|RESTRICT]

#컬럼 변경(치환)

hive> ALTER TABLE table_name [PARTITION partition_spec] REPLACE

COLUMNS (col_name data_type [COMMENT col_comment], ...) [CASCADE|

RESTRICT]

#테이블 이름 변경

hive> ALTER TABLE table_name RENAME TO new_table_name;

#컬럼 이름 변경

hive> ALTER TABLE table_name [PARTITION partition_spec] CHANGE

[COLUMN] col_old_name col_new_name column_type [COMMENT

col_comment] [FIRST|AFTER column_name] [CASCADE|RESTRICT];

#파티션 추가시 location 지정

hive> ALTER TABLE table_name ADD [IF NOT EXISTS] PARTITION

partition_spec [LOCATION 'location1'] partition_spec [LOCATION

'location2'] ...;

#Properties 변경

hive> ALTER TABLE table_name SET TBLPROPERTIES table_properties;

hive> table_properties: (property_name = property_value, property_name =

property_value, ... )

Page 96: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Presto Schemas

89

명령어 예제

#테이블/파티션 Ser De Properties 변경

hive> ALTER TABLE table_name [PARTITION partition_spec] SET SERDE

serde_class_name [WITH SERDEPROPERTIES serde_properties];

hive> ALTER TABLE table_name [PARTITION partition_spec] SET

SERDEPROPERTIES serde_properties;

hive> serde_properties: (property_name = property_value, property_name =

property_value, ... )

#테이블/파티션 파일포맷 변경

hive> ALTER TABLE table_name [PARTITION partition_spec] SET

FILEFORMAT file_format;

#테이블/파티션 location 변경

hive> ALTER TABLE table_name [PARTITION partition_spec] SET LOCATION

"new location";

CREATE Table

#CREATE TABLE : 암호화 옵션이 들어있는 경우 location 지정 불가

hive> CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]

[db_name.]table_name LIKE existing_table_or_view_name [LOCATION

hdfs_path];

6.6. Presto SchemasPresto Schemas 사용하는 방법에 대해서 설명합니다. Presto Schemas는 Workbench 좌측 상단에

PRESTO 메뉴가 활성화 되었을때 사

용 가능한 기능입니다.

1. Schemas의 화면은 다음과 같습니다.

Page 97: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

90

2. Schemas의 메뉴 위치는 다음과 같습니다.

• [Workbench] > [SCHEMAS]

3. Schemas에서 제공하는 기능은 다음과 같습니다.

• 데이터베이스 삭제

• 테이블 삭제

• 테이블 즐겨찾기

• Schema 새로고침

• 암호화

Page 98: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

데이터베이스 삭제

91

제약사항

NDAP Presto Workbench에서 개런티(guarantee)하는 catalog는 hive와 phoenix 두 가지 입니다.

presto에서 제공하는 connector를 이용하여 사용자가 catalog를 추가 할 수 있지만 NDAP에서는

개런티(guarantee)하지 않습니다.

6.6.1. 데이터베이스 삭제데이터베이스 삭제에 대해서 설명합니다.

1. 데이터베이스 삭제

a. [Workbench] > [SCHEMAS]

b. SCHEMAS 목록에서 삭제 할 데이터베이스를 선택합니다.

c. "Drop Database" 버튼을 클릭합니다.

6.6.2. 테이블 삭제테이블 삭제에 대해서 설명합니다.

1. 테이블 삭제

a. [Workbench] > [SCHEMAS]

b.

Tables 목록에서 삭제 할 테이블에서 아이콘을 클릭합니다.

c. "Drop Table" 버튼을 클릭합니다.

6.6.3. 테이블 즐겨찾기테이블 즐겨찾기에 대해서 설명합니다.

1. SCHEMAS의 화면은 다음과 같습니다.

Page 99: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

92

2. Tables 목록에서 즐겨찾기 할 테이블을 클릭합니다.

3. 테이블을 클릭하면 다음과 같은 화면이 나옵니다.

4.

테이블 이름 옆에 있는 을 클릭합니다.

즐겨찾기 한 테이블을 확인하는 방법에 대해서 설명합니다.

Page 100: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

테이블 즐겨찾기

93

1.

[SCHEMAS] 옆에 있는 을 클릭하면 즐겨찾기 한 테이블을 확인할 수 있습니다.

2.[SCHEMAS] 옆에 있는 을 클릭하면 테이블 전체 목록을 확인할 수 있습니다.

Tip

즐겨찾기 한 테이블은 데이터베이스 별로 분류 됩니다.

Page 101: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

6장. Workbench

94

6.6.4. Schema 새로고침Schema 새로고침에 대해서 설명합니다.

1. [Workbench] > [SCHEMAS]

2. 아이콘을 클릭합니다.

3. 카탈로그 목록, 데이터베이스 목록, 테이블 목록이 새로고침 됩니다.

6.6.5. 암호화암호화에 대해서 설명합니다.

• NDAP Presto Workbench에서는 암호화 테이블 생성기능이 제공하지 않습니다.

• 단, Hive Workbench에서 생성한 암호화 테이블에 대해서는 Presto Workbench에서 데이터 입력

및 조회 기능은 제공합니다.

• 만약 Presto Workbench에서 SQL로 암호화 테이블을 강제로 만들더라도 해당 테이블은 암호화

되지 않고 데이터는 일반 평문으로 입력됩니다.

Page 102: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

95

WorkflowNDAP Workflow는 데이터 수집, 정제, 가공 및 처리에 필요한 일련의 태스크를 구성하여 하나의

워크플로우를 생성할 수 있도록 도와주는 사용자 인터페이스를 제공합니다.

7.1. Workflow 시작하기Workflow에서 제공하는 기능은 다음과 같습니다.

• 프로젝트

• 워크플로우

• 스케줄링

• 워크플로우 이력/결과 확인

7.2. ProjectProject를 사용하는 방법에 대해서 설명합니다.

프로젝트는 여러개의 workflow를 가질 수 있습니다. 기본적으로 계정당 1개의 프로젝트가 생성되

며 추가할 수 있습니다.

7.2.1. Project 생성다음은 프로젝트를 생성하는 과정입니다.

Page 103: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

96

1. + 버튼을 클릭합니다.

2. 프로젝트 명을 입력합니다.

3. enter를 입력합니다.

7.2.2. Project 이름변경다음은 프로젝트의 이름을 변경하는 과정입니다.

1. 이름을 변경하는 프로젝트를 클릭합니다.

2. ▼ 버튼을 클릭합니다.

3. Rename Project를 클릭합니다.

4. 프로젝트명을 입력하고 enter를 입력합니다.

7.2.3. Project 삭제다음은 프로젝트의 삭제하는 과정입니다.

1. 삭제하고자 하는 프로젝트를 클릭합니다.

2. ▼ 버튼을 클릭합니다.

Page 104: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow

97

3. Delete Project를 클릭합니다.

4. Delete 버튼을 클릭합니다.

삭제시 주의사항

프로젝트를 삭제시 프로젝트에 포함된 워크플로우가 있으면 삭제가 불가능합니다. 프로젝트를

삭제하기전에 워크플로우를 전부 삭제해야 합니다.

7.3. WorkflowWorkflow를 사용하는 방법에 대해서 설명합니다.

1. Workflow의 화면은 다음과 같습니다.

버튼을 통하여 workflow 메인화면을 테이블 형식으로도 바꿀 수 있습니다.

Page 105: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

98

버튼을 통하여 workflow 메인화면을 아이콘 형식으로도 바꿀 수 있습니다.

Page 106: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow 생성

99

2. Workflow의 메뉴 위치는 다음과 같습니다.

• [Workflow] > [WORKFLOWS] > [Workflow]

Tip

중 하나를 선택해놓으면 browser가 설정을 기억하여 browser를 재시작해도 지정한 설정으로

화면을 보여줍니다.

7.3.1. Workflow 생성Workflow를 생성하는 방법은 다음과 같습니다.

1. 워크플로우를 생성할 프로젝트를 선택합니다.(or Create Project)

a. Project 목록의 + 버튼을 클릭

b. Project Name 설정 후 Enter

c. 제약조건 : 100문자 이내로 한글, 특수문자 사용가능

Page 107: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

100

2. 오른쪽 메뉴의 Create Workflow 선택합니다.

create workflow의 각 항목에 대해서 설명합니다.

항목 설명

Description Workflow에 대한 추가 설명을 설정

Project Workflow 생성시 선택한 Project Name 이 표시됨.

Arguments Workflow내에서 사용할 변수와 값을 설정

edit global variables 등록된 Global Variable 목록의 확인 및 편집

• Global Variable은 전체 사용자가 모두 사용 가능한 변수와

• Global Variable의 편집은 admin 권한의 User만 가능

7.3.1.1. Node 추가 및 연결Workflow 내에서 노드를 추가 및 연결하는 방법은 다음과 같습니다.

• Workflow Editor의 좌측 상단에 위치한 Node 버튼을 이용한 추가

• 각 Node 별 빠른 메뉴를 이용한 추가

• Node별 연결

다음은 노드를 연결하는 방법에 대한 설명합니다.

1. Workflow Editor의 좌측 상단에 위치한 Node 버튼을 이용한 추가

2. 각 Node별 빠른 메뉴를 이용한 추가

3. Node별 연결

Page 108: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow 복사

101

7.3.2. Workflow 복사다음은 Workflow Clone을 이용하여 Workflow 를 복사하는 과정입니다.

1. 작업 할 Workflow가 속한 Project를 선택(같은 Project내에서만 복사 가능)

Page 109: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

102

2. 드롭다운 메뉴에서 Clone Workflow 실행

3. 새로운 Workflow Name을 설정

Page 110: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow Run

103

4. 복제할 원본 Workflow를 선택

5. Clone 실행

7.3.3. Workflow RunProject 목록에서 Run All 클릭하면 Project에 포함된 모든 워크플로우를 실행합니다. Workflow

Editor에서 Run을 실행하여 현재 Open된 Workflow 실행 합니다. 만약 해당 Workflow의 History 중

Running 또는 Suspended 상태의 워크플로우가 존재하면 실행 할 수 없습니다.

7.3.3.1. Project 모든 Workflow RunProject 목록에서 Run All을 실행하여 Project 에 포함된 모든 Workflow 실행 가능 합니다. Project

목록에 포함된 Workflow 중 실행 가능한 모든 Workflow가 실행 됩니다.

Page 111: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

104

7.3.3.2. 특정 Workflow RunWorkflow Editor에서 Run을 실행하여 현재 Open된 Workflow 실행 합니다. 만약 해당 Workflow의

History 중 Running 또는 Suspended 상태의 Workflow가 존재하면 실행 할 수 없습니다.

7.3.3.3. Workflow의 특정 Node 부터 RunWorkflow 내 특정 Node를 선택하여 Run from this node를 실행하여 Workflow의 일부를 실행 할

수 있습니다. 만약 해당 Workflow의 History 중 Running 또는 Suspended 상태의 Workflow가 존재

하면 실행 할 수 없습니다. Fork 의 Flow에 해당하는 Node의 Run from this Node 기능을 사용할

수 없습니다.

Page 112: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow Run

105

7.3.3.4. 실행 실패한 Node부터 RunHistory에서 Killed된 Workflow의 Operate 메뉴 중 Re-run을 실행하여 Error 발생한 (FAILED)

Node부터 실행 가능 합니다. 만약 해당 Workflow의 History 중 Running 또는 Suspended 상태의

Workflow가 존재하면 실행 할 수 없습니다.

Page 113: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

106

7.3.4. Workflow 삭제다음은 Workflow를 삭제하는 과정입니다.

Page 114: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow Export / Import

107

1. 삭제할 Workflow를 선택 합니다.

2. 오른쪽메뉴의 Save 버튼 오른쪽 ▼ 버튼 > Delete 선택 합니다.

7.3.5. Workflow Export / ImportWorkflow Exprot / Import 기능에 대해서 설명합니다.

7.3.5.1. ExportExport는 Project 또는 Workflow로 Export 할 수 있습니다.

• Project Export

Project 메뉴 Export Workflows를 이용하여 Project에 포함된 전체 Workflow의 Export 합니다.

Page 115: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

108

Export된 Project File은 ProjectName.zip 형식으로 압축되어 Download 경로에 저장 됨.

• Workflow Export

Workflow Editor에서 현재 선택된 하나의 Workflow을 Export 합니다.

Export된 Workflow File은 WorkflowName.nwf 형식으로 Download 경로에 저장 됩니다.

Page 116: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow Export / Import

109

7.3.5.2. ImportImport는 Project 또는 Workflow로 Import 할 수 있습니다.

1. Import 하여 적용할 Project 선택 후 Import Workflow 선택

2. Import 할 파일 (Project.zip, Workflow.nwf) 선택

3. Import 실행

Page 117: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

110

7.4. NodeNode 에는 Control Node 와 Action Node로 분류 할 수 있습니다.

7.4.1. Control Node워크플로우의 흐름을 제어하는 노드이며 다음과 같은 종류가 있습니다.

• Fork / Join

• Decision

다음은 컨트롤 노드에 대한 설명입니다.

1. Fork / Join

• Fork로 동시에 여러 개의 Flow를 실행하고, Join으로 여러 개의 Flow 실행이 완료되면 다음

Flow의 동작 실행.

Page 118: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Control Node

111

2. Decision

• 주어진 조건에 따라 실행되어야 할 Flow가 있을 경우 사용 합니다. Swith~Case문과 유사.

Page 119: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

112

7.4.2. Action Node워크플로우의 실행을 담당하는 노드이며 다음과 같은 종류가 있습니다.

종류 설명

Hive Query 작성한 Hive Query를 실행

Presto Query 작성한 Presto Query를 실행

Remote Shell 지정한 Connection 환경에서 Shell Command 또는 Shell Script를

실행

Node의 Log를 통해 Shell Command 또는 Shell Script 의 Output

을 확인 가능

Sub Workflow 다른 Workflow 를 실행

External DB Query JDBC 로 연결 가능한 외부 RDB에 Query를 실행

Import Job Data Transfer 의 Import Job을 실행

Export Job Data Transfer 의 Export Job을 실행

Page 120: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

113

종류 설명

HTTP Request 특정 경로의 HTTP API를 실행

Node의 Log를 통해 URL, Method, Request Body, Status Code,

Response Body를 확인 가능

Wait 특정 Workflow 또는 Workflow의 특정 노드의 종료를 대기한다.

Timeout까지 응답이 없으면 실패 처리함.

Wait External 외부 RDB 또는 SSH의 응답을 대기한.

Timeout까지 응답이 없으면 실패 처리함.

HDFS HDFS 기본 명령을 실행

Java Oozie Java Action을 실행

Workflow 에서 {} 사용

hive 내의 변수를 {} 내에 사용하지 마시기를 권장합니다. {} 안의 요소를 워크플로우 내에서

설정한 변수로 인식하기 때문입니다.

7.4.3. Node 상세 설정

7.4.3.1. Decision NodeDecision Node는 단독으로 사용할 수 없으며, 흐름 제어를 위해 Decision Node에 연결된 Action

Node가 있어야 합니다.

Decision Node에 연결된 모든 Action Node로의 Expression과 Default 여부를 설정할 수 있는 항목이

표시됨.

Page 121: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

114

Decision Node에 대한 항목별 설명입니다.

항목 설명

Default 모든 조건에 부합하지 않을 경우 기본으로 실행해야 할 Node의

설정

반드시 하나의 Default 옵션이 설정되어야 함.

Expression 흐름을 선택할 조건을 설정

설정된 조건은 Boolean(True, False)형식의 결과가 반환되어야

함.

조건의 결과가 True이면 해당 Node가 실행되고, False이면 다음

조건을 판단, 모든 조건이 False이면 Default로 설정된 Node가

실행 됨

EL 함수 및 인자(argument)에 대하여

EL 함수 목록과 인자는 부록A. EL(Expression Language) 개요를 참고하십시오.

7.4.3.2. Fork & JoinFork또는 Join은 단독으로 사용할 수 없으며, Fork 분리되어 실행된 흐름은 반드시 Join으로 연결

되어 다음 흐름으로 진행 될 수 있도록 해야 합니다.

Page 122: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

115

7.4.3.3. Hive QueryHive Query를 실행하기 위한 Action Node 입니다.

Page 123: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

116

Hive Query에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Hive Query 실행할 Hive Query를 설정

• semicolon(;)으로 여러 개의 쿼리를 붙여서 순차적으로 실행

가능

User snippet Workbench에서 저장한 Hive Query를 선택하여 설정

• 자주 사용하는 Hive Query를 Workbench에서 등록한 후 이를

Workflow에서 사용 가능

Page 124: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

117

Tip

Hive Query Node의 쿼리 결과를 Workflow 내의 다른 Node와 공유할 수 있습니다.

Hive Query Node의 쿼리 결과를 사용할 Node는 Workflow 내에서 순서상 Hive Query Node보

다 뒤에 있어야 합니다.

쿼리 결과는 1row, 1column이어야 합니다.

EX)

Select count(*) from tbl; //return 13

다른 Node에서 다음과 같은 el 표현식을 사용하여 쿼리 결과를 사용할 수 있습니다.

${wf:actionData('n_3')['query_result']}

Hive Query Node의 id는 ‘n_3’ 이며 쿼리 결과는 query_result라는 key 값으로 저장됩니다.

7.4.3.4. Presto QueryPresto Query를 실행하기 위한 Action Node 입니다.

Page 125: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

118

Presto Query에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Presto Query 실행할 Presto Query를 설정

• semicolon(;)으로 여러 개의 쿼리를 붙여서 순차적으로 실행

가능

Use snippet Workbench에서 저장한 Presto Query를 선택하여 설정

• 자주 사용하는 Presto Query를 Workbench에서 등록한 후 이를

Workflow에서 사용 가능

Tip

Presto Query Node의 쿼리 결과를 Workflow 내의 다른 Node와 공유할 수 있습니다.

Presto Query Node의 쿼리 결과를 사용할 Node는 Workflow 내에서 순서상 Presto Query Node

보다 뒤에 있어야 합니다.

쿼리 결과는 1row, 1column이어야 합니다.

EX)

Select count(*) from tbl_presto; //return 13

다른 Node에서 다음과 같은 el 표현식을 사용하여 쿼리 결과를 사용할 수 있습니다.

${wf:actionData('n_3')['query_result']}

Presto Query Node의 id는 ‘n_3’ 이며 쿼리 결과는 query_result라는 key 값으로 저장됩니다.

7.4.3.5. Remote ShellRemote Shell를 실행하기 위한 Action Node 입니다.

Page 126: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

119

Remote Shell에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Connection SSH Connection을 선택

• Data Transfer > Data Connection 중 SSH Type의 Connection

• Shell Command/Shell Script를 실행할 서버에 대한 Connection

Command Shell 명령어를 입력

• 실행할 Shell Command 또는 Shell Script를 설정

7.4.3.6. Sub WorkflowSub Workflow를 실행하기 위한 Action Node 입니다.

Page 127: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

120

Sub Workflow에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Workflow 실행 할 Workflow 설정

• 설정한 Workflow가 성공적으로 실행완료 되어야 Sub

Workflow Node 이후의 Flow가 실행 됨.

Async 체크 시 설정한 Workflow를 호출한 후 다음 Node가 즉시 실행.

• 설정하지 않는 경우, 실행한 Sub Workflow가 성공적으로 실행

종료되어야 다음 Node를 실행.

7.4.3.7. External DB QueryExternal DB Query를 실행하기 위한 Action Node 입니다.

Page 128: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

121

External DB Query에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Connection [Data Transfer] > [PREPARATION] > [Connection] 중 Database

Type의 Connection

• SQL Query를 실행할 Database에 대한 Connection

Page 129: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

122

항목 설명

SQL Query 해당 Database에서 실행할 Query

• SQL Query 입력란에서 F11 키를 누르면 전제 화면모드에서

Query 편집 가능, ESC 키를 누르면 일반 편집모드로 돌아옴.

• Query는 Database에 따라 적용할 올바른 문법의 Query 설정

필요

• 세미콜론으로 여러 개의 쿼리를 붙여서 순차적으로 실행 가능

Tip

External DB Query Node의 쿼리 결과를 Workflow 내의 다른 Node와 공유할 수 있습니다.

External DB Query Node의 쿼리 결과를 사용할 Node는 Workflow 내에서 순서상 External DB

Query Node보다 뒤에 있어야 합니다.

쿼리 결과는 1row, 1column이어야 합니다.

EX)

Select count(*) from tbl; //return 13

다른 Node에서 다음과 같은 el 표현식을 사용하여 쿼리 결과를 사용할 수 있습니다.

${wf:actionData(‘n_3’)[‘query_result’]

Hive Query Node의 id는 ‘n_3’ 이며 쿼리 결과는 query_result라는 key 값으로 저장됩니다.

7.4.3.8. Import DB to HDFSImport DB to HDFS를 실행하기 위한 Action Node 입니다.

Page 130: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

123

Import DB to HDFS에 대한 항목별 설명입니다.

Page 131: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

124

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Connection [Data Transfer] > [PREPARATION] > [Connection] 중 Database

Type의 Connection

• SQL Query를 실행할 Database에 대한 Connection

SQL Query 해당 Database에서 실행할 Query

• SQL Query 입력란에서 F11 키를 누르면 전제 화면모드에서

Query 편집 가능, ESC 키를 누르면 일반 편집모드로 돌아옴.

• Query는 Database에 따라 적용할 올바른 문법의 Query 설정

필요

• 세미콜론으로 여러 개의 쿼리를 붙여서 순차적으로 실행 가능

Options HDFS에 저장되는 파일 정보 설정

• Target Path(HDFS) : HDFS에 저장되는 경로

• Field Separator : 필드 구분자

• Fetch Size : DB에서 가져오는 Row의 개수

7.4.3.9. Import Job / Export JobImport Job / Export Job를 실행하기 위한 Action Node 입니다.

Import Job에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

Page 132: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

125

항목 설명

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Import Job Data Transfer > Import Job에서 생성한 Import Job을 설정

Export Job에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Export Job Data Transfer > Export Job에서 생성한 Export Job을 설정

7.4.3.10. HTTP RequestHTTP Request를 실행하기 위한 Action Node 입니다.

Page 133: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

126

HTTP Request에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Method GET, POST, PUT, DELETE 중 하나를 선택

Custom Headers HTTP Request 실행시 전달할 Header 정보를 Name과 Value로

설정

Body Method가 POST, PUT 일 때 Body 정보를 설정

Fail on connection failure URL 설정 서버로의 연결 실패시의 로그 기록

Fail on HTTP error response HTTP Request 실행에 대한 응답 메시지가 Error 일 때 기록

Page 134: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

127

Tip

Http Request Node의 response body를 Workflow내의 다른 Node와 공유할 수 있습니다.

Http Request Node의 response body를 사용할 Node는 Workflow내에서 순서상 해당 Node보다

뒤에 있어야 합니다.

EX)

다른 Node에서 다음과 같은 el 표현식을 사용하여 쿼리 결과를 사용할 수 있습니다.

${wf:actionData(‘n_3’)[‘response_body’]

Hive Query Node의 id는 ‘n_3’ 이며 response_body라는 key로 저장됩니다.

7.4.3.11. WaitWait를 실행하기 위한 Action Node 입니다.

Wait에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Page 135: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

128

항목 설명

Workflow 대기할 Workflow 설정

Node 위에서 지정한 Workflow중 대기할 Node를 선택

• 지정 안 할 경우 위에서 지정한 Workflow 종료를 대기함.

Ended before 지정한 시간 안에 실행된 Workflow 상태만 확인.

Timeout Timeout 시간 설정

Fail on timeout 선택 시 timeout이 발생하면 fail처리함

7.4.3.12. Wait ExternalWait External를 실행하기 위한 Action Node 입니다.

Wait External에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

Page 136: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

129

항목 설명

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Connection [Data Transfer] > [PREPARATION] > [Connection] 에 정의한

connection으로 DB, SSH가능합니다.

Command 위에서 지정한 Connection에 명령어를 실행합니다.

Check Every 지정한 시간에 Command를 실행합니다.

Timeout in Timeout 시간 설정, 값을 입력하지 않으면 무한히 대기합니다.

Tip

SSH의 경우, Command 결과 값이 [exit 0]이 나올때 까지 실행합니다.

DB의 경우, Command 결과 값이 1개라도 있을때까지 실행합니다.

7.4.3.13. HDFSHDFS를 실행하기 위한 Action Node 입니다.

HDFS에 대한 항목별 설명입니다.

항목 설명

Name Node를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

HDFS 명령어 HDFS에서 사용하는 명령

• mkdir : 디텍토리 생성

• move : 파일 이동

• chmod : 권한 변경

• delete : 파일/디렉토리 삭제

• touchz : 0 바이트 파일 생성

명령어 파라미터 -

Page 137: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

130

7.4.3.14. JAVAJAVA를 실행하기 위한 Action Node 입니다.

JAVA에 대한 항목별 설명입니다.

항목 설명

Name Node 를 구분하기 위한 이름 설정

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용

Main Class 실행할 Java Program의 qualified class name(package명 포함)

Properties Key=Value 형식의 Property로 Java Action에서 사용할 파라미터

를 설정

Tip

Java Action은 Workflow 내에서 classpath에 포함된 임의의 Java Program을 실행해주는 기능입

니다.

개발한 Java Program을 Worker Node의 /usr/lib/ndap/lib에 jar 형태로 배포하는 작업이 선행되

어야 합니다.

/usr/lib/ndap/libshared 경로에 배포하려는 jar파일의 symlink를 생성해야합니다.

Java Action으로 전달된 Property는 다음과 같은 code로 configuration으로 전달받을 수 있습니

다.

Configuration conf = new Configuration(System.getProperty("oozie.action.conf.xml"));

• 1. 개요

• 아래 내용은 java action의 구성 및 활용에 대해 정리합니다.

2. java action의 기능

Page 138: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

131

a. 다양한 java program을 ozzie job으로 구동 가능하도록 인터페이스를 추가합니다.

b. 이로 인해 다음과 같은 효과를 기대할 수 있습니다.

i. 동적으로 다양한 기능의 action을 추가할 수 있습니다.

ii. 제품의 변경 없이 기능을 확장 가능합니다.

iii. 생성된 action의 재사용 가능합니다.

A. a project에서 활용한 action을 b project에서도 사용 가능합니다.

3. 구성

a. ndap workflow 메뉴의 action중 JAVA 타입이 추가됩니다.

b. JAVA 타임은 다음과 같은 configuration을 요구합니다.

i. main class : 실행할 java 클래스의 canonical name

A. ex : com.nexr.action.EchoAction

i. properties : key=value 타입으로 action에서 사용할 파라미터를 전달, + 버튼을 눌러

추가하고 버튼을 눌러 제거합니다.

A. key나 value중 하나라도 비어있으면 추가되지 않습니다.

4. 동작

a. oozie에 java action을 submit하면 oozie는 main class 설정을 확인하여 job container를 할당

받고 main() 메소드를 호출합니다.

b. 이때 같이 전달한 properties를 class 내부에서 사용 가능합니다.

5. custom action 개발 가이드

a. 제약사항

i. jdk 1.7 이하에서 컴파일된 jar만 수행 가능합니다. 1.8+는 사용하면 안됩니다.(ndap

cluster는 jdk 1.7을 사용합니다.)

b. 프로젝트 아키텍쳐

i. maven java project로 다음과 같은 pom.xml 형태로 생성하는 것을 추천합니다.

<?xml version="1.0" encoding="UTF‐8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven‐

4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>com.nexr</groupId>

<artifactId>custom‐java‐action</artifactId> <version>0.1‐SNAPSHOT</version>

<packaging>jar</packaging>

<dependencies>

<dependency>

<groupId>org.apache.hadoop</groupId>

Page 139: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

132

<artifactId>hadoop‐mapreduce‐client‐core</artifactId> <version>2.6.0</version>

</dependency>

<dependency>

<groupId>org.apache.hadoop</groupId>

<artifactId>hadoop‐common</artifactId>

<version>2.6.0</version>

</dependency>

</dependencies>

</project>

ii. 필요한 최소의 dependency는 JobConf와 hadoop configuration을 생성하기 위한

hadoopcommon, hadoop-mapreduce-client-core입니다.

iii. maven archetype으로 추가 예정입니다.

c. main method를 포함한 class의 구성

i. main method를 포함한 java program은 다음과 같은 형태를 가지도록 구성합니다.

package com.nexr.action;

import org.apache.hadoop.mapred.JobConf;

import java.util.Iterator;

import java.util.Map;

public class EchoAction {

private JobConf conf;

public EchoAction() {

conf = new JobConf(System.getProperty("oozie.action.conf.xml"));

}

public void run() {

System.out.println("EchoAction start");

Iterator<Map.Entry<String,String>> iter = conf.iterator();

while ( iter.hasNext() ) {

Map.Entry<String,String> entry = iter.next();

System.out.println(entry.getKey() + ":" + entry.getValue());

}

System.out.println("EchoAction end");

}

public static void main(String[] args) {

EchoAction echoAction = new EchoAction();

echoAction.run();

}

}

ii. oozie가 vm을 구동시킬때 oozie.action.conf.xml이라는 system property에 job

configuration 경로를 작성합니다.

iii. 따라서 이 코드를 사용하면 ndap에서 전송한 각종 configuration을 받아올 수 있는

JobConf를 생성 가능합니다.

conf = new JobConf(System.getProperty("oozie.action.conf.xml"));

Page 140: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 상세 설정

133

주의사항

org.apache.hive 같이 충돌 가능성이 있는 패키지명은 사용하면 안됩니다. 가능하

면 com.nexr로 시작하는 중복되지 않도록 명명합니다.

iv. java action에서 생성된 값을 다른 node에서 사용하게 하고 싶으면 다음과 같은 절차

를 따릅니다.

A. System.getProperty("oozie.action.output.properties");를 수행하면 파일 경로가 나

옵니다.

B. 해당 파일 경로에 java Property 형식으로 파일을 씁니다.

#Fri Mar 13 11:08:03 KST 2015

key1=value1

key2=value2

key3=value3

C. 이후 node의 el function에서는 다음과 같이 가져다 쓸 수 있습니다.

I. ndap workflow node 편집 화면에 보면 action id가 "n_3" 같은 형식으로 출력

됩니다. 가져다 쓸 action id를 확인합니다.

II. ${wf:actionData('n_3')['key2']}

1. n_3번 노드에서 출력한 key2 값을 가져옵니다.

2. 출력값은 value2가 됩니다.

d. job control

i. main method가 시작되는 시점에서 oozie action은 running 상태가 됩니다.

ii. main method가 종료되는 시점에서 oozie action은 SUCCEEDED 상태가 됩니다.

iii. main method가 Exception을 throw하면 oozie는 이를 받아서 FAILED 상태로 로깅하고

exception stack trace를 oozie log에 집어넣게 됩니다.

A. 따라서, 비정상 action 종료가 필요하면 main() 메소드에서 exception을 throw 해

야 합니다.

e. jar 배포

i. jar 파일을 배포해야 custom java action이 구동 가능합니다.

ii. 배포 가능한 경로는 다음과 같습니다.

Page 141: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

134

A. /usr/lib/ndap/lib

I. 여기에 jar를 배포하면 일체 재구동 필요 없이 MR 구동시 즉시 사용 가능합

니다. 단, 모든 cluster에 동일하게 배포 해야 합니다.

B. hdfs의 /user/oozie/share/lib/lib_xxxxxxx/oozie/

I. 여기에 jar를 배포하면 oozie를 재시작해야 인식됩니다. 1번 케이스 대비 장

점은 hive MR 구동시에는 classpath에 들어가지 않아 간섭의 가능성이 줄어든

다는 것 입니다.

iii. 만약, 구동되어야 하는 custom java action이 많은 dependency를 포함하고 있다면, 가

능하면 아래와 같이 작업하도록 합니다.

A. 가능하면(서명이 들어있지 않다면) cusom java action 안쪽에 embedding 합니다

B. 단, mavenshadeplugin을 이용해서 package relocation을 수행합니다.

I. ex: org.aaa.bbb.... > com.nexr.embedding.org.aaa.bbb.....

C. jar 하나의 사이즈가 커질지언정 주변에 이상한 영향을 주지는 않습니다.

주의사항

이미 배포된 library를 절대로 중복 등록하면 안됩니다.

7.4.4. Node Clone각 Action Node 별 속성창의 Clone을 이용하여 Node를 복제합니다.

Page 142: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Node 삭제

135

1. 복제할 Node를 선택

2. Node 속성창의 Delete 버튼 옆 화살표() 를 클릭

3. Clone을 실행

4. Clone 실행으로 복제된 Node의 속성은 원본과 동일

7.4.5. Node 삭제각 Action Node 별 속성창의 Delete을 이용하여 Node를 삭제

Page 143: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

136

1. 삭제할 Node 를 선택

2. Node 속성창의 Delete 버튼 클릭

3. 삭제 확인 없이 곧바로 Node가 삭제 됨

4. Node가 삭제되면 해당 Node의 Input, Output에 설정된 다른 Node와의 연결(Connection)도 제거

됨.

7.5. Schedules워크플로우를 원하는 시각에 자동으로 실행하도록 예약할 수 있는데, 이러한 작업을 스케줄링이라

합니다. 정해진 기간동안 일정 주기 간격으로 반복적으로 실행할 수 있습니다.

7.5.1. Schedules 시작하기Schedules에서 제공하는 기능은 다음과 같습니다.

1. Schedule의 화면은 다음과 같습니다.

Page 144: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Schedule 생성

137

2. Schedule의 메뉴 위치는 다음과 같습니다.

• [Workflow] > [Schedules]

3. 스케줄러에서 제공하는 기능은 다음과 같습니다.

• 스케줄러 생성

• 스케줄러 수정

• 스케줄러 검색

• 스케줄러 삭제

• 스케줄러 중지/재실행

• 스케줄러 즉시 실행

7.5.2. Schedule 생성다음은 Schedule를 생성하는 과정입니다.

1.

Schedules의 실행합니다.

2. 입력 항목 설정합니다. (모두 필수 입력 항목)

3. Create를 실행합니다.

Schedule 생성시 필요한 항목에 대해서 설명합니다.

항목 설명

Name Node를 구분하기 위한 이름입니다.

• 100 문자 이하의 hyphen(-), underscore(_), point(.), asterisk(*),

space( ), 숫자, 영문자만 허용합니다.

Validity Schedule을 적용할 기간을 설정합니다.

Page 145: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

138

항목 설명

• Frequency Value : 1~365 사이 의 수만 설정 가능합니다.

• Frequency Unit : minute, hour, day, week, month 중 하나 선택

가능합니다.

• Unit이 Week 일 때는 요일 설정 필요합니다.

Frequency Schedule의 minute, hour, day, week, month 단위로 주기를 설정

합니다.

Execute Schedule로 실행할 대상을 Workflow 또는 Project 중 하나 설정

합니다.

• Workflow : 하나의 Workflow 만을 실행할 경우 실행할

Workflow를 설정합니다.

• Project : Project에 포함된 모든 Workflow를 실행할 경우 실행

할 Project를 설정합니다.

7.5.3. Schedule 수정Schedule 설정 수정하는 과정입니다.

• Schedule 설정 수정하는 과정입니다.

1. Schedules 목록에서 변경할 Schedule Name을 클릭합니다.

2. 설정 항목을 수정합니다.(모든 항목 변경 가능)

3. Save 실행합니다.

Schedule Edit 변경화면에서는 다음과 같은 정보를 확인 할 수 있습니다.

Page 146: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Schedule 중지/재실행

139

1. Schedule 설정 변경 및 Schedule의 실행 이력 확인 가능

2. Schedule 실행 이력은 최근 실행된 10개의 목록만 표시

3. Schedule 실행 목록은 실제 실행시간과 완료 시간, 실행 소요시간, Nominal Time(Schedule 된

실행시간) 정보가 표시됨.

4. Workflow 또는 시스템의 부하의 정도에 따라 실제 실행 시간은 Nominal Time 다를 수 있음.

7.5.4. Schedule 중지/재실행Schedule을 중지 및 재실행하는 과정입니다.

Schedule의 상태는 2가지가 있습니다.

ACTIVE : 다음 예약된 시간에 스케줄러가 실행가능한 상태

DISABLED : 사용자가 임의로 예약된 시간에 스케줄러가 동작 하지 않게 멈춘 상태

• Schedule를 중지하는 과정입니다.

1. Schedules 목록에서 중시시킬 Schedule의

클릭합니다.

2.

을 클릭합니다.

3. 스케줄러는

상태로 변합니다.

• 중지된 Schedule를 재실행하는 과정입니다.

1. Schedules 목록에서 중지된 Schedule의

클릭합니다.

Page 147: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

140

2.

을 클릭합니다.

3. 스케줄러는

상태로 변합니다.

7.5.5. Schedule 즉시실행Schedule을 즉시 실행하는 과정입니다.

• Schedule 설정 중지하는 과정입니다.

1. Schedules 목록에서 즉시 실행시킬 Schedule의

클릭합니다.

2. Run Immediately을 클릭합니다.

즉시실행 주의사항

스케줄링 시작시간과 즉시실행 시간이 겹치면 정상동작하지 않습니다. 따라서 스케줄러를 즉

시 실행 시키기전에 스케줄링을 DISABLE하고 실행시키는 것을 권장합니다.

7.5.6. Schedule 검색Schedules 목록에서 특정 Schedule을 검색 합니다.

• Keyword : 대소문자 구분 없이 입력한 Keyword를 Schedule Name에 포함된 Schedule 검색합니다.

• More (Execute 필터)

• Schedule의 more options를 클릭하면 Execute에 대한 필터 옵션이 표시됩니다.

• 표시된 필터 옵션은 hide options를 클릭하여 숨김 가능합니다.

• Workflow : 선택한 Workflow가 Execute에 설정된 Schedule 검색합니다.

• Project : 선택한 Project이 Execute에 설정된 Schedule 검색합니다.

• Workflow 또는 Project 중 하나만 선택 가능합니다.

Page 148: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Schedule History

141

7.5.7. Schedule History특정 Schedule로 실행된 Workflow History의 확인이 가능합니다.

• 특정 Schedule의 Schedule Edit 화면으로 이동합니다.

• Schedule의 실행 목록에는 최근 10개의 실행 목록만 표시됩니다.

• Schedule Edit 화면 하단 Recent Executions의 Workflows History 링크를 클릭합니다.

• [WORKFLOWS] > [History] 화면에 해당 Schedule로 실행된 History 목록이 모두 표시됩니다.

7.6. HistoryWorkflow, Schedules에서 실행한 목록과 실행 결과를 확인 할 수 있습니다.

7.6.1. History 시작하기History에서 제공하는 기능은 다음과 같습니다.

• workflow/node 상태 확인

• output 확인

• log 확인

• workflow 재실행/중지

1. History의 메뉴 위치는 다음과 같습니다.

• [Workflow] > [History]

2. History에서 제공하는 기능은 다음과 같습니다.

• workflow 검색

• workflow 상태 확인

• node 상태 확인

• output 확인

• log 확인

• workflow 재실행/중지

Page 149: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

142

7.6.2. History 화면 설명다음은 History 화면 설명입니다.

항목 설명

Status Workflow & node의 상태를 표시합니다.

Name [project] > [Workflow]형식으로 표시합니다.

Triggered by • Workflow를 실행한 User Name

• Sub Workflow를 통해 실행 된 경우 해당 Sub Workflow Node

가 포함된 (Parent) Workflow Name

• Workflow Name Schedule 설정으로 실행된 Workflow 일 경우,

Workflow를 실행한 Schedule Name

Time 실행시간, 종료시간, 걸린시간을 표시합니다.

Action Workflow의 추가 동작 기능을 제공합니다.

7.6.3. workflow 검색workflow 검색기능을 설명합니다.

를 이용하여 텍스트를 입력하여 검색할 수 있습니다.

를 이용하여 워크플로우 상태로 검색 할 수 잇습니다.

• 워크플로우를 검색 할때

를 이용하여 검색할때 검색범위를 설정 할 수 있습니다.

워크플로우 시작시간을 이용하여 검색 할 수 있습니다.

Page 150: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Workflow 상태 확인

143

를 이용하여 프로젝트만 검색 할 수 있습니다.

를 이용하여 스케줄러만 검색 할 수 있습니다.

7.6.4. Workflow 상태 확인다음은 Workflow의 상태에 대해서 설명합니다.

항목 설명

실행 준비 중인 상태

실행 중인 상태

일시 중지 중 상태

SUSPENDED (Suspended)

Error 발생 없이 정상적으로 실행이 완료된 상태

실행에 실패한 상태

실행 중 Error 발생으로 Kill을 하고 있는 상태

실행 중 Error 발생으로 Kill 된 상태

7.6.5. Node 상태 확인• Workflow Name 을 클릭

• Workflow에 포함된 Node 별 결과 확인 가능합니다.

• Node 의 Time에 Mouse Pointer를 위치시키면 툴 팁으로 Node 실행 소요 시간 제공

Node는 다음 중 하나의 상태로 진행 됩니다.

Page 151: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

144

항목 설명

실행 준비 중인 상태

실행 중인 상태

Error 발생 없이 정상적으로 실행이 완료된 상태

실행에 실패한 상태

실행 중 Error 발생으로 Kill 된 상태

7.6.6. Output 확인Workflow 노드별 실행 결과를 확인 할 수 있습니다.

1. History의 목록 중 확인 할 Workflow를 선택합니다.

2. 각 노드 아래의 Output 버튼을 클릭합니다.

Output 데이터를 확인 할 수 있는 Node 종류

노드 표시데이터

Hive query, preview, query_result

Remote Shell command, hosts, output_stream, error_stream

HTTP Request request_header, request_url, request_code, request_body

External DB Query query, preview, query_result

Workflow Action별 상세 설명

• Hive, External DB Query

• hive와 External DB Query 노드의 Output 내용입니다.

Page 152: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Output 확인

145

• query : 실행된 쿼리를 확인 할 수있습니다.

• preview : 실행된 select 쿼리의 결과를 최대 10row까지 확인 할 수 있습니다.

• result_query : 실행 결과가 1row일 경우의 결과입니다. workflow내에서 사용될 수 있습니다.

• Remote Shell

• Remote Shell 노드의 Output 내용입니다.

Page 153: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

146

• command : 실행된 command 입니다.

• hosts : command가 실행된 host 목록입니다.

• output_stream : command가 실행된 결과 입니다. 여러 host에서 실행 된 경우 "-----"로 구분

되어 보입니다.

• error_stream : error 가 발생 할 경우 error_stream으로 표시됩니다.

• HTTP Request

• HTTP Request 노드의 Output 내용입니다.

Page 154: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Show Log

147

• request_header : HTTP Request Header 내용입니다.

• request_url : 요청한 URL 입니다.

• response code : HTTP 응답 코드입니다.

• response_body : Response Body 내용입니다.

7.6.7. Show LogWorkflow 실행 결과를 Log를 통해 확인 할 수 있으며 Show Logs를 통해 해당 Workflow 전체 로

그 확인 가능합니다.

1. History의 Action에 표시되는 Operate 를 클릭

2. Show Logs 실행

3. Log Viewer가 Open 되어 표시됨

Page 155: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

148

7.6.8. Suspend & Resume실행 중인 Workflow를 Suspend를 이용하여 일시 중지한 후 Resume을 이용하여, 계속 진행 가능

합니다.

다음은 Suspend & Resume의 제약 사항 및 동작에 대해서 설명합니다.

• Workflow의 Suspend & Resume

• 현재 Running 상태의 실행 중인 Node는 Running이 완료 된 후 이후 실행 될 Node 부터

Suspend 처리로 Prep 상태가 유지됨

• Suspended 후 Suspend 시점에 Running 중이었던 Node는 Succeeded 상태로 완료되나, Time 그

래프가 표시되지 않음

• Suspended 상태의 Workflow만 Resume 실행 가능

• Resume 실행 시 Workflow의 상태가 Running으로 변경 됨

• Resume 실행 시 Suspend 시점에 Running 중이었던 Node의 Time 그래프가 정상적으로 표시됨

• Resume 실행 시 Suspended로 중지된 Node가 Flow에 따라 순차적으로 실행 됨

• Workflow의 Suspend

• Workflow의 Suspend 결과

Page 156: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Re-run

149

7.6.9. Re-run실행 중 Error 발생으로 중지된 Workflow를 실패한 Node부터 재실행 하는 기능 입니다.

제약사항

• 이미 Error 발생 없이 정상 완료된 Workflow는 Re-run 실행 불가

• Re-run을 실행하면 Error 발생으로 실패한 Node부터 실행되고, 이전에 완료된 Node는 더 이상

실행되지 않음

7.6.10. RestartWorkflow를 처음부터 재실행 하는 기능 입니다.

제약 사항

• FAILED, KILLED, SUCCEEDED 상태만 Restart 실행가능

7.7. EL 사용하기Hive Query 노드와 관련한 쿼리를 할 때 EL을 사용하는 방법에 대해 설명합니다. 이 제품을 이용

하면 다양한 방법으로 EL을 활용할 수 있으나, 여기에서는 Workflow를 통해 Hive Query 노드에서

사용하는 방법으로 설명하겠습니다.

EL 함수 및 사용 규칙

이 절에서는 EL을 Hive Query 노드에 사용하는 방법을 설명합니다. 사용할 수 있는 함수 목

록과 사용 규칙은 부록A. EL(Expression Language) 사용 규칙을 참고하십시오.

Page 157: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

7장. Workflow

150

EL 함수 및 인자(argument)에 대하여

EL 중에서 concat 함수인 ${concat("tbl_", target_date)}를 인자로 넣어 사용한 예시를 제공합니

다. 함수와 인자, 출력값은 사용자의 작업에 따라 달라질 수 있으니 이 점 참고하십시오.

• EL을 인자로 등록하여 워크플로우를 통해 쿼리

1. 다음과 같은 쿼리를 하여 테이블을 작성합니다.

create table tbl_20010101 (test string)

2. 작업할 워크플로우를 만들거나 선택한 후 다음 값을 Workflow Argument로 추가 합니다.

• key : target_date

• value : 20010101

3. 워크플로우에서 Hive Query 노드를 추가한 후, Node Details 창에 다음 쿼리를 입력 합니다.

select * from ${concat("tbl_", target_date)}

${concat("tbl_", target_date)}이 EL 함수입니다. 인자에 등록해 두었으므로, select * from

${concat("tbl_", target_date)} 구문은 select * from ${concat("tbl_20010101")}과 동일한 효과를

갖습니다.

4. Worfolow 저장하고 실행 합니다.

Page 158: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

151

ClusterCluster 메뉴에서는 NDAP Cluster 전체 서비스 상태 모니터링과 오퍼레이션 수행, Hadoop Cluster

Metric 정보를 확인할 수 있습니다.

8.1. Cluster 메뉴Cluster에서 제공하는 기능은 다음과 같습니다.

• Service

• Hosts

• Operation Log

• External Monitoring

8.2. ServicesNDAP 상단의 Top Menu중 Cluster > Service 메뉴를 선택하면, NDAP에서 서비스 중인 전체 클러

스터의 daemon 상태와 Metric 정보를 확인 할 수 있는 아래 화면으로 전환됩니다.

8.2.1. 화면 구성 설명Service 화면의 각 구성요소를 설명합니다.

1. Services

Cluster내의 전체 Service 목록입니다. 클릭하면 목록부분을 제외한 우측 전체가 해당 Service의

Process List와 Metric 화면으로 전환됩니다.

Page 159: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

152

2. Processes

Service 하위의 Process 목록입니다. HDFS에 포함된 Process는 Name Node, Secondary Name

Node, Data Node, ZKFC, Journal Node가 있습니다.

Page 160: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

화면 구성 설명

153

Process 이름(

)을 클릭하면 Process가 실행중인 Host 목록이 있는 팝업창이 나타납니다.

우측 상단의 버튼으로 Process 데몬 전체 Operation을 수행 할 수 있습니다.

Page 161: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

154

Operation

Start,Stop,Restart 등의 명령은 반드시 관리자만 실행 할 수 있도록 권한 설정을 해야합니

다.

실행권한에 관한 자세한 설명은 NDAP-Administration-Guide를 참고 바랍니다.

3. HostProcess List

Process가 실행중인 Host들이 표시된 팝업화면에서 Host(

)를 클릭하면 HostProcess 상세화면으로 이동합니

다.

8.2.2. Service 상태Service 상태에 관한 설명입니다.

Page 162: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Metric

155

아이콘 상태 설명

HEALTHY Service에 포함된 모든 하위 Process들이 LIVE 상태입니다.

UNHEALTHY Process중 일부 Process가 UNHEALTHY 상태이거나, Master나

Worker가 아닌 Process의 상태가 SERVICE NOT AVAILABLE인 상

태입니다.

SERVICE NOT

AVAILABLE

Master나 Woker Process의 상태가 SERVICE NOT AVAILABLE인

상태입니다.

8.2.3. MetricMetic 화면은 Service별 주요 Metric을 선별해서 보여줍니다.

Metric 데이터는 화면 우측상단의 아이콘으로 데이터 기간을 선택할 수있습니다.

30분(Default)에서 ~ 30일 사이의 데이터 기간을 선택해서 볼수 있으며, 특정 기간을 선택할 수 있

습니다.

Metric 그래프는 이미지를 저장하는 기능, Raw Data를 확인하는 기능과 Data Zoom 기능이 있습니

다.

• 이미지 저장

아이콘을 클릭하면, PNG 이미지로 Metric 그래프를 저장할 수 있습니다.

Page 163: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

156

• Raw Data

아이콘을 클릭하면, Raw Data를 확인 할 수 있습니다.

• Data Zoom

그래프를 확대/축소 할 수 있는 기능입니다.

Page 164: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

History

157

Metric 보관 주기

NDAP Metric의 최대 보관 주기는 Default 설정일때 60일입니다. 자세한 설정방법은 NDAP-

Administration-Guide를 참고 바랍니다.

Metric 상세 설명

NDAP Metric에 대한 보다 자세한 설명은 NDAP-Monitoring-Guide를 참고 바랍니다.

8.2.4. HistoryService 상태 변화 이력입니다. NDAP Agent가 수집하는 Deamon의 상태정보 이력을 시간 순으로

보여줍니다. Operation 이력은 Operation Log와 Administration > Audit 메뉴에서 확인 할 수 있습니

다.

8.3. HostsCluster > Hosts 메뉴에서 NDAP Cluster 전체 host 목록을 볼 수 있습니다.

Page 165: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

158

8.3.1. 화면 구성Hosts 화면 구성 요소들은 다음과 같습니다.

• Host 상세 페이지 링크

HostName이나 IP를 클릭하면 Host 상세 화면으로 이동합니다.

Page 166: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

화면 구성

159

• Processes

Processes 컬럼의 (

)버튼을 누르면, 해당 Host에 설치된 Process 목록을 볼 수 있습니다.

Page 167: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

160

• Recent Heartbeat

가장 최근에 받은 NDAP Agent Hearbeat 시간을 나타냅니다.

Page 168: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

화면 구성

161

• Host Info

Host의 시스템 정보를 나타냅니다. Host Detail 화면에서 좀더 상세한 정보를 볼 수 있습니다.

Page 169: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

162

8.3.2. Host DetailHost 상세 화면입니다. Host에서 실행중인 Process 목록과 시스템 Metric 정보를 확인 할 수 있습니

다.

화면 구성은 다음과 같습니다.

• Processes List

화면 좌측에서 현재 Host에서 실행중인 Process 목록을 볼 수 있습니다.

Page 170: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Host Detail

163

• Summary

Summary는 현재 Host의 시스템 정보입니다.

Page 171: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

164

• Metric

Summary보다 상세한 시스템 자원 현황을 확인 할 수 있습니다.

Page 172: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

Operation Log

165

8.4. Operation LogCluster > Operation Log에서 Operation 실행 이력을 확인 할 수 있습니다.

Operation 실행은 Cluster Operation 실행 권한이 있는 사용자만 사용할 수 있습니다.

실행이력은 operation(

)을 클릭하면, host 별 상세 내용을 확인 할 수 있습니다.

Page 173: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

8장. Cluster

166

또한, 우측 Action 항목의 (

)버튼을 이용해 실행 로그를 팝업창을 통해 확인 할 수 있습니다.

8.5. External MonitoringCluster > External Monitoring 메뉴를 통해 Ganglia Web에 접속 할 수 있습니다.

Ganglia Web에서 Hadoop Eco System에서 제공하는 전체 Metric을 확인할 수 있습니다.

Page 174: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

External Monitoring

167

NDAP Monitoring과 External Monitoring에 관한 보다 자세한 내용은 NDAP-Monitoring-Guide를 참

고하시길 바랍니다.

Page 175: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

168

Page 176: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

169

DocumnetNDAP Documnet는 NDAP 사용 메뉴얼을 제공합니다.

9.1. DocumnetDocumnet에서 제공하는 기능은 다음과 같습니다.

• User 가이드

• Tutorial 가이드

• Hive UDF 가이드

• Monitoring 가이드

Document 위치는 다음과 같습니다.

각 항목을 클릭하면 해당 가이드 문서를 확인 할 수 있습니다.

Page 177: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

170

Page 178: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

171

부록 A. EL(Expression Language) 사용

규칙

A.1. EL 문법• EL 연산자 또는 EL 함수로 expression을 작성한뒤 반드시 ${expression} 형태로 사용하여야 합니

다.

사용 예 결과

${wf:user()} testuser

${wf:user() eq 'testuser'} true

${1 > (4/2)} false

${'a' < 'b'} true

${1.2E4 + 1.4} 12001.4

${wf:actionData(‘n_3’)

[‘query_result’] eq '2' }

true(Hive Query의 결과가 2일경우)

${wf:user() eq testuser} ERROR(testuser 상수가 지정되어 있다면 true)

$${wf:actionData(‘n_3’)

[‘query_result’] } eq '2'

ERROR(eq '2'가 {}를 벗어남)

• EL 연산자,EL 함수, 상수를 제외한 모든 문자열에는 작은 따옴표(')를 사용하여야 합니다.

작음따옴표 작성 주의사항

EL에서 작은따옴표는 항상 싱글쿼터( ' )입니다. 백쿼터( ` ) 사용에 주의하세요.

${wf:actionData('n_3')['query_result'] eq 3 }; 성공

${wf:actionData(`n_3`)[`query_result`] eq 3 }; 실패

A.2. EL 상수

상수명 타입 값

KB long 1024, one kilobyte.

MB long 1024 * KB, one megabyte.

GB long 1024 * MB, one gigabyte.

TB long 1024 * GB, one terabyte.

PB long 1024 * TG, one petabyte.

Page 179: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

부록 A. EL(Expression Language) 사용 규칙

172

A.3. EL 기본 연산자이 제품은 Java가 지원하는 대부분의 산술 및 논리 연산자를 지원합니다. 다음 표는 가장 자주 사

용되는 연산자 목록입니다.

연산 설명

. 빈 속성이나 맵 항목에 접근합니다.

[] 배열 또는 리스트의 요소에 접근합니다.

( ) 표현식의 우선 순위를 바꿀 수 있습니다.

+ 연산자 앞,뒤를 합산합니다.

- 연산자 앞,뒤를 뺄셈합니다.

* 연산자 앞,뒤를 곱셈합니다.

/ or div 연산자 앞,뒤를 나눗셈하여 몫을 구합니다.

% or mod 연산자 앞,뒤의 나눗셈의 나머지를 구합니다.

== or eq 연산자 앞,뒤의 값이 같은 비교합니다.

!= or ne 연산자 앞,뒤의 값이 다른지 비교합니다.

< or lt 연산자 앞이 뒤보다 작은지 비교합니다.

> or gt 연산자 앞이 뒤보다 큰지 비교합니다.

<= or le 연산자 앞이 뒤보다 작거나 같은지 비교합니다.

>= or ge 연산자 앞이 뒤보다 크거나 같은지 비교합니다.

&& or and 연산자 앞,뒤 AND 연산을 합니다.

|| or or 연산자 앞,뒤 OR 연산을 합니다.

! or not 단항 부울 변수를 역산합니다.

empty 뒤에오는 단항 변수가 비어 있는지 검사합니다.

A.4. EL 함수(Function)이 절에서는 규칙화 함수를 제공합니다.

이러한 EL은 다음과 같이 크게 두 종류로 나뉩니다.

• 기본 EL함수들(functions)

• Custom EL함수들

이 제품을 통해 쿼리할 때 사용할 수 있는 기본 EL 함수에 대해서는 다음 표를 참고하십시오.

함수 설명

String firstNotNull(String

value1, String value2)

첫번째 값이 null이 아닌 값을 반환하거나, 두 값 모두 null인 경

우에는 null값을 반환하는 함수

String concat(String s1, String

s2)

두 가지 스트링의 연속연산(concatenation) 값을 반환하는 함수.

스트링의 값이 null이면 빈 문자열(empty string)로 간주

String trim(String s) 주어진 스트링에서 공백을 삭제한 값(trimmed value)으로 반환하

는 함수. 스트링의 값이 null이면 빈 문자열(empty string)로 간주

String urlEncode(String s) 주어진 스트링을 URL UTF-8으로 인코딩한 값으로 반환하는 함

수. 스트링의 값이 null이면 빈 문자열(empty string)로 간주

String timestamp() UTC형식의 날짜 값과 W3C형식의 시간 값으로 반환하는 함수.

Page 180: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

EL 함수(Function)

173

함수 설명

예: 1997-07-16T19:20:30.45Z

이 제품은 기본 EL 함수 외에도 아파치 우지(Apache Oozie) 배포본에서 사용할 수 있는 커스텀

우지 EL을 지원합니다. 사용자는 날짜 형식(date format pattern)에 다음과 같은 문자열을 사용할

수 있습니다.

• yyyy, MM, dd, HH, mm, ss

• 간단한 'Date Truncate' 표현 예 : 현재시간 = 2012-04-27 13:14:24

‘Date Truncate’를 사용할 경우는 해당 dateField의 마지막 character 에 'x'를 사용하십시오.

만약 date format pattern 표현을 사용하는 경우

c이 경우에는 문자 “x”로 표시하십시오.

yyyyMMddHx

yyyyMMddHHmx

다음과 같이 문자열 중간에 “x”표현을 사용하면 예외가 발생합니다.

yyyyMMddHxmm

그러므로 문자열 마지막에 “x”를 사용할 것을 권장합니다. 'Date Truncate' 표현 예 : 현재시

간 = 2012-04-27 13:14:24

리턴타입 이름(시그니처) 설명

String date:current() 현재 시간을 default-format(yyyy-MM-dd

HH:mm:ss)과 default timezone을 사용하여

format ${date:current()} 는 다음과 같은 결과를

출력합니다.

41025.6473958333

String date:current_format(String

format)

현재 시간을 주어진 format과 default

timezone을 사용하여 format 현재

시간이 2012-04-26 15:32:00이면

${date:current_format('yyyyMMddHHmm')} 의

결과는 아래와 같습니다.

201204261532

Hive 쿼리에 아래와 같은 EL을 사용하게되면

'tbl_mm_201204261617' Hive 테이블을 생성합

니다.

CREATE TABLE IF NOT EXISTS tbl_mm_${date :

current_format( 'yyyyMMddHHmm' )} (a STRING)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY ','

Page 181: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

부록 A. EL(Expression Language) 사용 규칙

174

리턴타입 이름(시그니처) 설명

STORED AS TEXTFILE

Format String을 이용한 Date truncate 예제

${date:current_format('yyyy-MM-dd Hx')}으로

표현된 EL을 사용하고 현재시간이 '2012-04-27

13:14:24' 인 경우의 결과는 아래와 같습니다.

current_format("yyyx") : 0001

current_format("yyyy-Mx") : 2012-01

current_format("yyyy-MM-dx") : 2012-04-01

current_format("yyyy-MM-dd Hx") : 2012-04-27 00

current_format("yyyy-MM-dd HH-mx") : 2012-04-27 13-10

current_format("yyyy-MM-dd HH-mm-sx") : 2012-04-27

13-14-20

String date:current_by(String format,

String timezone)

현재 시간을 주어진 format과 주

어진 timezone을 사용하여 format

${date:current_by('yyyyMMddHHmm', 'GMT')}

은 아래와 같은 결과를 출력합니다.

201204261532

String date:add(String field, int

amount)

현재 시간에 주어진 date field 에 amount

만큼 더하기(or 빼기) field인자는 'YEARS'

or 'MONTHS' or 'DAYS' or 'HOURS' or

'MINUTES' 현재 시간이 2012-04-26 15:32:15

이면 ${date:add('MINUTES', 10)} EL은 아래와

같은 결과를 출력합니다.

41026

${date:add('MINUTES', -10)} EL은 현재 기간에

서 10분 전 시간을 출력합니다.

41026

String date:add_basedate(String

baseDate, String field, int

amount)

주어진 baseDate에 주어진 date field 에 amount

만큼 더하기(or 빼기). baseDate는 default-

format(yyyy-MM-dd HH:mm:ss)과 동일한 형

식 ${date:add_basedate('2012-04-26 15:32:15',

'MINUTES', 10)}의 결과는 다음과 같습니다.

2012-04-26 15:32:15 --> 2012-04-26 15:42:15

String date:add_format(String format,

String field, int amount)

현재 시간에 주어진 date field 에 amount 만큼

더하기(or 빼기)

현재 시간이 2012-04-26 15:32:15 이면

${date:add_format('yyyyMMddHHmm',

'MINUTES', 10)}의 결과는 아래와 같습니다.

201204261542

Page 182: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

EL 함수(Function)

175

리턴타입 이름(시그니처) 설명

String date:add_format_basedate(String

format, String baseDate, String

field, int amount)

주어진 baseDate에 주어진 format을 적

용하여 주어진 date field에 amount 만큼

더하기(or 빼기) 주어진 형식과 시간이

'yyyyMMddHHmm', '201204261532' 인 경우에

${date: add_format_basedate('yyyyMMddHHmm',

'201204261532', 'MINUTES', 10)}의 결과는 아

래와 같습니다.

201204261542

CREATE TABLE IF NOT EXISTS tbl_aa_${

date:add_format( 'yyyyMMddHHmm',

'MINUTES', 10)}

(a STRING)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY ','

STORED AS TEXTFILE;

위의 예제는 Hive에 10분 후의 시간을 주어진

형식으로 반환하여 'tbl_aa_201204261627' 테이

블을 생성합니다. Format String을 이용한 Date

truncate예제

CREATE TABLE tbl_aa_

${date:add_format('yyyyMMddHHmx',

'MINUTES', 10)} (

...

);

위 예제에서 현재 시간이 '2012-04-27 13:14:24'

이면, EL표현식의 결과는 '201204271320' 입니

다.

String date:add_coord(String format,

coordinatorEL, String field, int

amount)

coordinator EL로 계산한 baseDate에 주

어진 format을 적용하여 주어진 date

field에 amount 만큼 더하기(or 빼기)

${date:add_coord('yyyyMMddHHmx',

coord:formatTime(coord:nominalTime(),

'yyyyMMddHHmm'), 'MINUTES', -10)}의 결과

는 아래와 같습니다.

201205151103 --> 201205151050

String date:add_by(String format,

String timezone, String

baseDate, String field, int

amount)

주어진 baseDate에 주어진 format, timezone을

적용하여 주어진 date field에 amount만큼 더하

기(or 빼기) ${date:add_by('yyyyMMddHHmm',

'Asia/Seoul', '201204261532', 'MINUTES', 10)}의

결과는 아래와 같습니다.

201204261532 --> 201204261542

Page 183: User Guide - NDAP 사용자 가이드 - KTNDAP 시작하기 이 장에서는 웹 기반의 NDAP Web을 이용하여 작업을 시작하기 전에 알아두면 도움이 되는 사항

부록 A. EL(Expression Language) 사용 규칙

176

리턴타입 이름(시그니처) 설명

String date:dateOffset(String baseDate,

String timeUnit, int amount)

주어진 baseDate에 주어진 format을 적

용. baseDate는 default-format(yyyy-MM-dd

HH:mm:ss) 이어야 한다. 주어진 형식과 시간이

'2015-02-03 15:32:55', 'yyyyMMddHHmm'인 경

우에 ${date:formatTime('2015-02-03 15:32:55',

'yyyyMMddHHmm')}의 결과는 아래와 같습니

다.

201502031532

String wf:startTime_time(String

format)

Workflow의 startTime을 주어

진 format을 사용하여 format

${wf:startTime_format('yyyyMMddHH')}의 결과

는 아래와 같습니다.

2015010914