강좌
클라우드/리눅스에 관한 강좌입니다.
클라우드 분류

[KT클라우드]Big Data > Data Lake 워크플로우 App

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

빅데이터 처리는 원천 데이터를 수집하는 것으로 시작합니다. 데이터 레이크 구축의 개념으로 봤을 때, 불변성을 가지는 원천 데이터가 생성되는 것입니다.
이후에는 각 비즈니스 요건에 맞춰 데이터를 변환하고 집계하여 다양한 테이블을 구성하고 논리적으로 구분된 데이터베이스에 할당합니다.
이런 과정은 많은 사용자를 확보하고 있는 SQL이나 좀 더 복잡하고 정교하게 데이터를 다룰 수 있는 Scala, Python등의 프로그램 언어로 정의 됩니다.
기업의 규모와 비즈니스 복잡도 수준에 따라 수백에서 수천개의 테이블이 생겨나기도 합니다.
기업의 데이터는 상호간의 연관성을 가지므로 데이터가 변환되는 흐름을 정의할 수 있어야하는 특징을 가지고 있습니다.
가령 모든 데이터 처리의 기준이 되는 고객 데이터가 원천시스템에서 일단위로 정리되어 빅데이터 시스템의 테이블로 적재되는 구조를 가지고 있다면, 최신의 고객 데이터가 도착하기 전까지 다른 데이터 테이블 생성을 진행할 수 없습니다.
이렇게 비즈니스 데이터 생성의 흐름과 선후행 관계를 표현하기위해 많은 기업에서 워크플로우 엔진을 도입해 활용하거나 shell 프로그램등으로 이 과정을 관리하고 있습니다.
이 솔루션의 워크플로우 App은 흐름의 노드를 구성하는 노트북 App , 시각화 대시보드 App 를 캔버스에 배치하고 각 작업간의 선후행 관계를 정의하고 작업의 분기와 병합등의 조건을 명시할 수 있는 기능을 제공합니다.
이 장에서는 워크플로우 App을 사용하는 방법에 대해 설명합니다.
워크플로우 App 개요
워크플로우 화면 구성
워크플로우 App은 다음과 그림과 같은 화면 구조를 가지고 있습니다.
  • - 캔버스 영역 : 각 노드를 배치하고 노드간의 연결을 정의하는 기능을 제공합니다.
  • - 컨트롤 영역 : 추가 목록, 네비게이션, 오퍼레이션 기능을 제공합니다.
  • 이어지는 절에서는 앞서 간략히 설명한 워크플로우 App의 각 영역을 활용해 워크플로우를 정의 및 저장하고 실행 이력을 보는 방법을 알아봅니다.
워크플로우 불러오기
화면이 표시되면 목록 상단의 검색 영역에 워크플로우 이름 및 설명 내용을 입력해 필터링하는 방식으로 원하는 워크플로우를 찾은 후 해당 워크플로우를 더블 클릭합니다.
또한 각 컬럼의 제목을 클릭하여 정렬 기능을 제공합니다.
더블 클릭한 워크플로우는 새탭에 표시됩니다.
  • 화면이 표시되면 목록 상단의 검색 영역에 워크플로우 이름 및 설명 내용을 입력해 필터링하는 방식으로 원하는 워크플로우를 찾은 후 해당 워크플로우를 더블 클릭합니다.
  • 또한 각 컬럼의 제목을 클릭하여 정렬 기능을 제공합니다.
  • 더블 클릭한 워크플로우는 새탭에 표시됩니다.
워크플로우 정의
워크플로우 App은 빅데이터 시스템에서 여러 데이터 셋이 변환 순서에 맞게 변화하는 과정을 정의하는데 사용합니다.
이 절에서는 워크플로우 App을 통해 새로운 워크플로우를 정의하는 방법과 워크플로우의 동작 규칙에 대해 알아봅니다.
워크플로우 생성 방법
노트북 App이나 대시보드 App 처럼 다음 두가지 방법을 통해 새로운 워크플로우를 생성할 수 있습니다.
프로젝트 브라우저에서 '+아이템 생성' 버튼 클릭
  • 프로젝트 브라우저는 여러가지 App의 링크를 만드는 기능을 제공합니다.
  • 새로운 워크플로우를 만들고 싶은 사용자는 프로젝트 브라우저 App 장에 있는 디렉터리 및 App 링크 신규 생성 절의 설명을 따라서 새로운 워크플로우를 생성할 수 있습니다.
상단 bar의 퀵링크에 있는 워크플로우 아이콘 클릭
  • 이 솔루션의 모든 App은 상단에 퀵메뉴 아이콘을 가지고 있습니다.
  • 상단 bar의 우측 퀵 링크를 클릭하면 새탭에 신규 워크플로우 화면이 열리고(이 상태에서는 생성된 상태가 아님) 오퍼레이션 영역의 저장 버튼을 클릭해 저장을 하면 워크플로우가 생성 됩니다.
위에 설명한 두가지 방법은 모두 동일한 결과를 만들어 냅니다. 새롭게 생성된 워크플로우는 ‘workflow_’로 시작하는 기본값을 가지고 있습니다.
사용자는 상단 bar 좌측의 워크플로우 이름 영역을 클릭하고 원하는 이름을 입력하는 방식으로 새로운 이름을 설정할 수 있습니다.
워크플로우 노드 유형
위 방법을 통해 새로운 워크플로우를 생성하고 나면 작업의 흐름을 정의해야 합니다. 작업을 정의하는데 사용할 수 있는 노드의 유형은 다음과 같습니다.
  • 노트북 노드 : 빅데이터 처리에 관련된 SQL, scala, python등의 코드를 가지고 있으며, 노트북 내부적으로도 순차 실행 방식 의 워크플로우를 구성합니다. 워크플로우에서 가장 많이 사용할 노드입니다.
  • 대시보드 노드 : 대시보드를 레포트로 만들고 배포 대상자들에게 email을 전송합니다. 노트북에서 대시보드가 참조하는 데이터 셋을 변경한 경우 마지막 노드로 대시보드를 배치할 수 있습니다.
  • 워크플로우 노드 : 다른 워크플로우를 노드로써 배치할 수 있습니다. 단, 현재 작업중인 워크플로우는 배치할 수 없습니다.
  • 분기 노드 : 한 노드에서 여러 개의 노드로 분기할 수 있습니다. 분기 노드를 배치하면 반드시 병합 노드로 분기된 워크플로우를 병합해주어야 합니다.
  • 병합 노드 : 분기 된 워크플로우를 하나의 노드로 병합할 수 있습니다. 분기 노드 없이 단독으로 사용할 수 없습니다.
  • 결정 노드 : 한 노드의 실행 결과에 따라 다음에 실행할 노드를 선택할 수 있도록 결정 노드를 배치할 수 있습니다.
오른쪽 제어 영역 > 추가 목록 에서 왼쪽 첫번째 아이콘을 캔버스로 드래그앤 드랍하여 노트북/대시보드/워크플로우 타입의 노드를 생성할 수 있습니다.
노트북을 시작으로 각 노드의 추가 방법에 대해 알아봅니다.
노트북 노드 정의 방법
오른쪽 제어 영역 > 추가 목록 에서 왼쪽 첫번째 아이콘을 캔버스로 드래그앤 드랍하여 표시되는 팝업 화면에서 노트북 타입을 선택하여 생성합니다.
사용자는 상황에 따라 신규 노트북을 생성할 수도 있고, 단순하게 기존 노트북중 하나를 선택할 수 있습니다.
  • 신규 생성 을 클릭하면 프로젝트 브라우저 App 에서 볼 수 있는 새로 만들기 모달 화면이 표시됩니다.
  • 이름, 설명 정보와 경로 설정을 마친 후 저장 버튼을 클릭하면 워크플로우 캔버스에 노드가 추가됩니다.
  • 원하는 경우 해당 노드를 더블 클릭 하여 노트북 App을 호출할 수 있습니다.
가져오기 를 선택하는 경우 다음과 같은 노트북 선택 화면이 표시됩니다. 노트북이 많은 경우 상단의 검색 영역에 노트북 이름을 입력해 빠르게 찾을 수 있습니다. 원하는 노트북을 클릭하면 워크플로우 캔버스에 해당 노드가 추가됩니다.
※ 노트북 App은 최상단 파라그래프 부터 가장 마지막 파라그래프 까지 순차적으로 실행하는 구조를 가지므로 노트북 자체가 순차 연결 방식의 워크플로우 역할을 할 수도 있습니다.
만약 이런 방식으로 데이터 처리를 단순하게 표현할 수 있다면, 노트북과 스케줄러 조합만으로 데이터 처리를 간단하게 정의할 수 있습니다.
대시보드 레포트 노드 정의 방법
노트북 처리를 통해 대시보드에서 참조하는 데이터 테이블이 갱신되는 경우나 특정 노트북이 처리되는 시점에 사용자 대시보드의 스크린샷을 생성하고 공유하고 싶은 경우 대시보드 노드를 추가할 수 있슯니다.
이 노드가 정상적으로 동작하려면, 노드에 매핑된 사용자 대시보드 정보가 레포트 공유자 목록을 가지고 있어야 합니다.
공유자 목록을 지정하는 방법은 시각화 대시보드 App 를 참고하기 바랍니다.
오른쪽 제어 영역 > 추가 목록 에서 왼쪽 첫번째 아이콘을 캔버스로 드래그앤 드랍하여 표시되는 팝업 화면에서 대시보드 타입을 선택하여 생성합니다.
이후 신규 생성 혹은 불러 오기 중 하나를 선택합니다. 신규 생성을 하고 싶은 경우 프로젝트 브라우저 App 에서 본 것과 같은 새로 만들기 모달 창이 표시됩니다.
가져오기 를 선택하는 경우 기존에 정의되어있는 대시보드 목록을 볼 수 있으며, 검색을 통해 여러 대시보드 중 하나를 선택할 수 있습니다.
워크플로우 노드 정의 방법
기 정의된 워크플로우 노드를 등록하여 하나의 노드처럼 일련의 워크플로우를 추가할 수 있습니다.
오른쪽 제어 영역 > 추가 목록 에서 아이콘을 캔버스로 드래그앤 드랍하여 표시되는 팝업 화면에서 노트북 타입을 선택하여 생성합니다.
이후 신규 생성 혹은 불러 오기 중 하나를 선택합니다. 신규 생성을 하고 싶은 경우 프로젝트 브라우저 App 에서 본 것과 같은 새로 만들기 모달 창이 표시됩니다.
가져오기 를 선택하는 경우 기존에 정의되어있는 워크플로우 목록을 볼 수 있으며, 검색을 통해 여러 워크플로우 중 하나를 선택할 수 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  124 명