OpenSource Big Data Platform - Flamingo 소개와 활용
-
Upload
edward-kim -
Category
Technology
-
view
4.100 -
download
5
description
Transcript of OpenSource Big Data Platform - Flamingo 소개와 활용
![Page 1: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/1.jpg)
Open Cloud Engine
Open Source Big Data Platform Flamingo Project 소개 및 활용 Open Cloud Engine Flamingo Project Leader 김병곤 ([email protected])
2014.04.02 v0.9
![Page 2: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/2.jpg)
빅데이터 플랫폼이란 무엇인가?
![Page 3: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/3.jpg)
빅 데이터 책임자에게 듣는 흔한 질문 • 빅 데이터가 기존의 DW랑 차이가 뭐가 있는지 모르겠습니다.
• 단위 데이터만 봐서는 큰 데이터가 없습니다. 사업의 타당성을 만들수가 없습니다. 어떻게 해야 하나요?
• A라는 데이터가 있는데 그것으로 뭘 해야할까요?
• 다른 회사는 뭐 한답니까? 혹시 동종업계 비슷한 사례가 있나요?
• 빅 데이터 플랫폼을 만들라는데 이놈이 뭐를 하는 놈인지 모르겠습니다.
![Page 4: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/4.jpg)
빅 데이터 플랫폼의 역할에 대한 고민 • 빅 데이터 플랫폼에서 하고자 하는 주요 업무는 무엇인가?
• 데이터 마이닝, 통계, 로그 관리(수집, 전처리, …)
• 빅 데이터 플랫폼에서 누가 무슨 일을 하는가? • 사용자에 따라서 플랫폼의 기능이 서로 다를 수 있다.
• 운영자는 대부분 개발자 출신이기 때문에 시스템 관리 및 로그 관리에 초점 • 사용자가 분석가 출신인 경우 데이터 분석을 위한 환경의 성숙도가 초점
• 빅 데이터 플랫폼을 사용하는 사용자의 수는? • 사용자가 많다면 플랫폼의 기능성과 인프라의 접근성이 중요 • 플랫폼이 데이터를 다루는 특성 때문에 보안에 취약할 수 있고 Hadoop은 실
제로 취약함
• 나는 운영자? 기획자? 개발자? 분석가? • 책임자의 역할에 따라서 플랫폼의 기능도 다르게 정의한다.
![Page 5: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/5.jpg)
빅 데이터 플랫폼이 제공해야 하는 것 SOFTWARE STACK
![Page 6: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/6.jpg)
빅 데이터 플랫폼이 제공해야 하는 것
INFRA MANAGEMENT MONITORING
![Page 7: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/7.jpg)
빅 데이터 플랫폼이 제공해야 하는 것
WORKFLOW
![Page 8: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/8.jpg)
빅 데이터 플랫폼이 제공해야 하는 것
분석 및 시각화 환경
![Page 9: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/9.jpg)
빅 데이터 플랫폼이 제공해야 하는 것
DASHBOARD
![Page 10: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/10.jpg)
빅 데이터 플랫폼이 제공해야 하는 것
SECURITY
• ACCESS • AUTHENTICATION • AUTHORIZATION • ENCRYPTION • AUDITING • POLICY
![Page 11: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/11.jpg)
빅 데이터 플랫폼이 제공해야 하는 것 • 배치 작업 관리와 작업 모니터링
• 병렬 분석 프로그램
• 사용자의 행위에 대한 모니터링
• 리소스에 대한 각종 접근 통제 정책 및 시스템
• 인프라의 접근성 향상을 위한 다양한 기능들…
![Page 12: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/12.jpg)
Flamingo Project In Open Cloud Engine • 웹 기술을 활용하여 빅 데이터 인프라 및 데이터를 편리하게 사용하도록 한다.
• 사용자가 데이터를 잘 활용할 수 있도록 한다. • 하나의 화면에서 자유롭게 다양한 작업을 할 수 있는 작업 공간을 제공한다.
• 다양한 분석 및 처리 MapReduce를 쉽게 재활용 할 수 있도록 한다.
• 오픈소스 기반으로 모든 시스템을 제대로 갖추고 진행한다. • 남의 것에 의존하지 않고 직접 다 만든다. • 현장의 업무를 중심으로 설계한다. • 다국어 지원을 통해 다양한 사람들이 사용할 수 있도록 한다. • Hadoop EcoSystem을 잘 지원한다.
![Page 13: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/13.jpg)
Browser
디자이너 Search
형태소����������� ������������������ 분석����������� ������������������
그래프����������� ������������������ 분석����������� ������������������
사용자별����������� ������������������ 평가����������� ������������������
리더����������� ������������������ 선출����������� ������������������
로그����������� ������������������ 데이터����������� ������������������
데이터����������� ������������������ 분석가����������� ������������������ 서비스����������� ������������������ 기획자����������� ������������������
데이터����������� ������������������ 분석가����������� ������������������
Browser
인포메이션 카탈로그 Search
인포메이션 유형 보안등급 생성주기 형식
사용자 친밀도 1 매일 새벽2시 XML
아이템 추천 2 매일 새벽 1시 JSON
구매 성향 3 매일 저녁 8시 XML/JSON
오피니언 리더 점수 2 매일 오전 10시
XML/JSON
데이터����������� ������������������ 이용자����������� ������������������
시스템����������� ������������������
오피니언����������� ������������������ 리더����������� ������������������ 점수����������� ������������������
Open����������� ������������������ API����������� ������������������
데이터����������� ������������������ 시각화를����������� ������������������ 위한����������� ������������������ Chart����������� ������������������
워크플로우����������� ������������������ 디자인����������� ������������������
수집����������� ������������������ ����������� ������������������
데이터����������� ������������������ 이용자����������� ������������������
서비스����������� ������������������ ����������� ������������������ 요청����������� ������������������
모바일����������� ������������������
분석����������� ������������������ 결과를����������� ������������������ 재사용����������� ������������������ 분석����������� ������������������ 결과를����������� ������������������ 외부에����������� ������������������ 제공하기����������� ������������������ 위해����������� ������������������ Open����������� ������������������ API����������� ������������������ 로����������� ������������������ 노출����������� ������������������
분석����������� ������������������ 결과����������� ������������������ 검증����������� ������������������ 로그����������� ������������������ 데이터����������� ������������������
MapReduce����������� ������������������ 분석����������� ������������������ 모듈����������� ������������������
빅����������� ������������������ 데이터����������� ������������������ 분석����������� ������������������ 및����������� ������������������ 서비스����������� ������������������ 플랫폼����������� ������������������
1����������� ������������������
2����������� ������������������
3����������� ������������������
4����������� ������������������
5����������� ������������������
6����������� ������������������
7����������� ������������������
Future of Big Data Platform
![Page 14: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/14.jpg)
Flamingo Project • 현장에서 오랫동안 경험한 결과 Hadoop 기반 Big Data 환경은 기능성이 매우 중요
• 많은 오픈소스들이 통합되면서 관리의 어려움이 발생하고 있고 통합환경을 제공하는 UI도 절대적으로 부족
![Page 15: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/15.jpg)
Flamingo의 통합 환경(Workbench) • 사용자는 작업 공간 내에서 자유롭게 이동하면서 작업을 할 수 있도록 구성
• 각 화면은 최대한 독립 개발이 가능하도록 분리하여 구성
• 재사용 가능한 것은 컴포넌트화여 코드 작성을 최소화
• 누구나 추가할 수 있도록 최대한 구조를 단순화하고 대중적인 프레임워크를 사용
• 개발 방법도 모두 표준화 (도구, 절차, 매뉴얼, 환경 등등)
![Page 16: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/16.jpg)
Flamingo Architecture
![Page 17: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/17.jpg)
File System Browser • Hadoop이 파일을 다루므로 파일 시스템 브라우저의 기능은 상당히 중요한 메인 기능
• 사용자가 Windows Explorer 스타일의 친숙한 UX를 따라가도록 설계
![Page 18: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/18.jpg)
File System Browser
디렉토리를 Hive DB와 Table로 전환
브라우저에서는 Hive DB와 Table 경로를 다른 아이콘으로 표시하여 확인
FLAMINGO에서는 사용자가 주로 하는 행위에 최적
화하여 기능을 제공
![Page 19: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/19.jpg)
File System Browser 기능 고도화 • 파일 내용 및 Block Location 보기 기능
• 사용자의 등급별 디렉토리 및 파일 표시 및 기능 제한 (Hadoop 자체 기능은 없음) • 예) 일반 사용자의 경우 /tmp 디렉토리는 표시하지 않음
• 디렉토리 및 파일의 permission 설정 기능
• 사용자의 홈 디렉토리 기능 (Hadoop 자체 기능은 없음)
• 디렉토리 Quota 설정 기능
• 파일 시스템의 크기 정보를 주기적으로 덤프를 생성하는 기능 추가 (모니터링)
![Page 20: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/20.jpg)
Audit Log • HDFS 등과 같은 File System 상에서 발생하는 로그의 기록을 모두 남기고 조회
![Page 21: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/21.jpg)
Workflow Designer • 다양한 분석 모듈을 탑재할 수 있도록 설계 (예; Mahout)
• UI를 통해 미리 제공하는 분석 및 처리 모듈을 드래그 앤 드롭으로 처리
• 현재 분석 알고리즘 및 기초 통계 모듈은 통합 완료, Mahout, Giraph 통합 진행중. 추후 MR ETL 통합 예정.
![Page 22: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/22.jpg)
Big Workflow Case 현장에서 필요하다면 다수의 노드로 구성할 수 있는 워크플로우를 실제로 구현하여 사용함.
![Page 23: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/23.jpg)
Apache Access Log To CSV
![Page 24: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/24.jpg)
Apache Access Log To CSV
작성한 MapReduce의 파라미터 옵션 • CSV 파일 변환시 필요한 컬럼 구분자 • 패턴과 다른 로그의 경우 표준 출력으로 기록할지 여부(디버깅용)
Apache Access Log의 위치와 CSV 파일의 위치를 지정
MapReduce JAR 파일과 Driver 클래스
![Page 25: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/25.jpg)
Workflow Designer • 최종 결과물을 생성하기 위해서는 복잡한 워크플로우를 구성하게 됨
• MapReduce의 특성상 파일을 가공하는데 한번의 작업이 아닌 다수의 작업으로 해야하는 경우 빈번하여 워크플로우를 복잡하게 만듬
• 국내 엔지니어들은 절대적으로 Apache Hive의 SQL like Query Language를 선호하여 MapReduce를 많이 사용하지 않으므로 워크플로우 디자이너의 중요성이 많이 부각되지 않음
• 현업에서 다양한 로그 파일을 다루는 경우 워크플로우 디자이너와 MapReduce는 매우 중요함
![Page 26: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/26.jpg)
Workflow Monitoring • 워크플로우 디자이너에서 디자인한 워크플로의 실행을 모니터링. 실행 로그를 정확하게 확인할 수 있음.
![Page 27: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/27.jpg)
Workflow Monitoring
root@n02:~/flamingo_data/tmp/2014/03/31/90/JOB_20140331_172000_90_157566920/26385942 $> ls -lsa 합계 40 4 drwxr-xr-x 2 root root 4096 2014-03-31 17:23 . 4 drwxr-xr-x 20 root root 4096 2014-03-31 17:23 .. 16 -rw-r--r-- 1 root root 12731 2014-03-31 17:23 action.log à 실행 로그 4 -rwxrwxrwx 1 root root 1259 2014-03-31 17:23 core-site.xml 0 -rw-r--r-- 1 root root 0 2014-03-31 17:23 hadoop.job_201403300831_0471 à MapReduce Job ID 4 -rwxrwxrwx 1 root root 852 2014-03-31 17:23 script.sh à 커맨드 라인 root@n02:~/flamingo_data/tmp/2014/03/31/90/JOB_20140331_172000_90_157566920/26385942 $>
워크플로우의 노드는 다수의 MAPREDUCE JOB으로 동작할 수 있으므로 추적이 가능해야 함
사용자 관점의 MapReduce 실행 이력
![Page 28: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/28.jpg)
Hadoop Job Monitoring
Hadoop Job 모니터링에서도 반대로 추적이 모두 가능해야 함.
![Page 29: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/29.jpg)
Expression Language (EL) • 동적인 값들을 얻고자할 때 Workflow Designer에서 활용
• 예) 오늘 날짜 : dateFormat(‘yyyyMMdd’) dateFormat(‘yyyy-MM-dd’)
• 워크플로우가 실행할 때 특정한 값들은 해당 시간으로 대체되어야 하는 경우가 발생 • 예) 오늘 실행하는 워크플로우는 어제 날짜의 디렉토리에 기록 (일배치)
• 제공하는 Expression Language • dateFormat(‘DATE FORMAT’) à dateFormat(‘yyyyMMddHHmmss’) • hostname, escapeString, • yesterday, tommorow • month, day, hour, minute, … à day(‘yyyyMMdd’, -1) :: 어제 날짜 (20131111) • trim, concat, urlEncode, firstNotNull
![Page 30: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/30.jpg)
Expression Language (EL)
입력 필드에 ${EL} 형식으로 입력하는 경우 동적으로 해석하여 값이 변경됨.
![Page 31: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/31.jpg)
Hadoop Job Tracker Monitoring • Hadoop의 Job Tracker 상세 정보를 그래프로 보여주는 모니터링 기능
![Page 32: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/32.jpg)
Hadoop Job Tracker Monitoring • Hadoop Job의 상세 정보를 원격에서 모두 모니터링하고 추적 가능
![Page 33: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/33.jpg)
Hive Editor & Hive Metastore Browser • 파일 시스템의 파일을 SQL로 조회, 브라우징, 다운로드
• Hive Metastore 관리 기능을 제공하여 데이터베이스와 테이블을 통합 관리할 수 있도록 기능을 제공
![Page 34: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/34.jpg)
Hive 편집기 적용 사례 • 시스템의 사용자 접근 이력 로그를 Hive로 조회하는 사례
– 대상 로그의 형식이 반정형이나 비정형인 경우 문제 발생
– 칼럼 안에 Array, Map 등의 이상한 구조를 가진 로그의 경우 문제 발생
• 대상 로그는 CSV 형식과 같은 잘 정리된 형식이 아닌 반정형 로그 형식
TYPE="IPINSIDE" TIME="2014-03-20 17:40:37" ID="guest0899349" MAC="AA-BB-01-18-68-68" NAT_IP="10.24.104.104" NAT_IP_NATION="USA" PROXY_USE="Y" VPN_USE="Y" REMOTE_USE="Y" PROXY_IP="192.24.104.104" PROXY_IP_NATION="USA" VPN_IP="192.24.104.104" VPN_IP_NATION="USA" SVC_CODE="SVC_CODE_0899349" HDD_DISK="HDD_DISK_0899349" CPU_INFO="CPU_INFO_0899349" USE_OS_NATION="USA" MESG="mesg..... time[1395284830] rnd[875899349] unq[5000000]" TYPE="IPINSIDE" TIME="2014-03-20 17:40:37" ID="guest0899349" MAC="AA-BB-01-18-68-68" NAT_IP="10.24.104.104" NAT_IP_NATION="USA" PROXY_USE="Y" VPN_USE="Y" REMOTE_USE="Y" PROXY_IP="192.24.104.104" PROXY_IP_NATION="USA" VPN_IP="192.24.104.104" VPN_IP_NATION="USA" SVC_CODE="SVC_CODE_0899349" HDD_DISK="HDD_DISK_0899349" CPU_INFO="CPU_INFO_0899349" USE_OS_NATION="USA" MESG="mesg..... time[1395284830] rnd[875899349] unq[5000000]"
![Page 35: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/35.jpg)
Hive 편집기 적용 사례
TYPE="IPINSIDE" TIME="2014-03-20 17:40:37" ID="guest0899349" MAC="AA-BB-01-18-68-68" NAT_IP="10.24.104.104" NAT_IP_NATION="USA" PROXY_USE="Y" VPN_USE="Y" REMOTE_USE="Y" PROXY_IP="192.24.104.104" PROXY_IP_NATION="USA" VPN_IP="192.24.104.104" VPN_IP_NATION="USA" SVC_CODE="SVC_CODE_0899349" HDD_DISK="HDD_DISK_0899349" CPU_INFO="CPU_INFO_0899349" USE_OS_NATION="USA" MESG="mesg..... time[1395284830] rnd[875899349] unq[5000000]”
![Page 36: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/36.jpg)
Hive 편집기 적용 사례 CREATE DATABASE TEST LOCATION '/RAW'; CREATE EXTERNAL TABLE TEST.MAS ( type string, time string, id string, mac string, nat_ip string, nat_ip_nation string, proxy_use string, vpn_use string, remote_use string, proxy_ip string, proxy_ip_nation string, vpn_ip string, vpn_ip_nation string, svc_code string, hdd_disk string, cpu_info string, use_os_nation string, mesg string) PARTITIONED BY ( yyyy string, mm string, dd string) ROW FORMAT SERDE 'kr.cloudine.poc.MasSerde' LOCATION '/RAW/MAS'; ALTER TABLE MAS ADD PARTITION (YYYY='2014', MM='03', DD=’25');
![Page 37: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/37.jpg)
Hive 편집기 적용 사례
![Page 38: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/38.jpg)
Hive 편집기 적용 사례 public class MasSerde implements SerDe { private StructTypeInfo rowTypeInfo; private ObjectInspector rowOI; private List<String> colNames; private List<Object> row = new ArrayList<Object>(); Pattern p = Pattern.compile("\"(.*?)\""); // 로그 파일의 정규 표현식 @Override public Object deserialize(Writable blob) throws SerDeException { row.clear(); Matcher m = p.matcher(blob.toString()); // 로그 파일을 정규식으로 패턴 매칭 List list = new ArrayList(); while (m.find()) { list.add(m.group(1)); // 패턴 매칭을 통해 추출한 칼럼 정보를 저장 } String[] split = (String[]) list.toArray(new String[list.size()]); int i = 0; for (String fieldName : rowTypeInfo.getAllStructFieldNames()) { TypeInfo fieldTypeInfo = rowTypeInfo.getStructFieldTypeInfo(fieldName); row.add(parseField(split[i], fieldTypeInfo)); i++; } return row; } ... 생략 }
HIVE QUERY 실행시 로그 파일을 로딩할 때
DESERIALIZE한다.
![Page 39: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/39.jpg)
Hive 편집기 적용 사례
![Page 40: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/40.jpg)
Pig Script Editor • Pig Latin Script를 편집하고 저장
• Pig Latin Script를 실행하고 관련 이력을 관리하여 빠르게 데이터를 프로세싱
![Page 41: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/41.jpg)
Dashboard • 배치 작업의 동작 현황을 보여주는 UI
![Page 42: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/42.jpg)
Job Management • 워크플로우를 주기적으로 실행하도록 배치 작업을 등록하고 모니터링
![Page 43: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/43.jpg)
Job Management • Cron Expression Fully Support
![Page 44: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/44.jpg)
프로젝트 정보 • Source Forge (다운로드)
– http://www.sourceforge.net/projects/hadoop-manager • 위키 (설명서 및 각종 기술자료)
– http://wiki.opencloudengine.org/pages/viewpage.action?pageId=819205
• 이슈 관리 (버그 및 신규 기능) – http://jira.opencloudengine.org
• 빌드 서버 – http://build.opencloudengine.org
• 구글 그룹스 : [email protected] • facebook :
https://www.facebook.com/groups/flamingo.workflow • 서브스크립션 (기업 기술지원) : [email protected]
![Page 45: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/45.jpg)
Flamingo Project의 미래
• Big Data on Cloud
• Netra (OpenStack based Hadoop Provisioning)
+ Flamingo (Hadoop based Workspace)
• Open Source based Big Data Platform
• Apache Hadoop EcoSystem
• Big Data Management Using Flamingo
• Apache Hadoop PaaS (Platform as a Service)
• Big Data All In One Package
![Page 46: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/46.jpg)
Workflow Designer • MapReduce 개발자 마다 모두 파라미터 처리가 틀리고 표준화 되어 있지 않음
• 이러한 다양한 MapReduce를 빠르게 어떻게 통합할 것인가?
![Page 47: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/47.jpg)
Workflow Designer • 대부분의 UI 컴포넌트는 재사용 가능하도록 설계하여 컴포넌트 형태로 제공
• MapReduce Module과 UI 통합 방식이 표준화 되어 있으며 프레임워크로 제공되어 빠르게 개발 및 통합 가능
재사용 컴포넌트
UI 구성
![Page 48: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/48.jpg)
Workflow Designer • 모듈의 아이콘도 메타 데이터를 통해서 정의하여 별도 코드 작성을 최소화하고
• 관련 기능을 통합 프레임워크로 위임하고 사용자는 메타 데이터만으로 핸들링
![Page 49: OpenSource Big Data Platform - Flamingo 소개와 활용](https://reader034.fdocuments.net/reader034/viewer/2022052600/557e96a9d8b42a8d518b5021/html5/thumbnails/49.jpg)
참여와 공유!!
www.opencloudengine.org