Data Flow

  • 문서 생성일: 2020-03-21 08:54:32 +0900 KST
  • Data Flow

    OCI Data Flow 서비스를 다음과 같은 목차로 소개합니다.


    OCI Data Flow 란?

    OCI((OCI Cloud Infrastructure) Data Flow는 오라클 클라우드에서 제공하는 서비스로 다음과 같은 키워드로 요약할 수 있습니다.

    OCI Data Flow는 Object Storage에 저장된 대규모 데이터 병렬처리 기술을 제공하는 서비스입니다. Data Flow는 아파치 스파크 기술을 기반으로 합니다. Data Flow를 이용하면 원하는 규모의 스파크 클러스터를 즉시 구성할 수 있습니다. OCI Data Flow 사용자가 Spark 프로그램을 제출하면 Data Flow는 사용자가 지정한 규모의 Spark 클러스터를 생성한 다음에 Spark Job을 완료하면 사용한 모든 spark 클러스터를 제거하는 방식으로 운영되는 서비리스 서비스입니다. 그리고 OCI Data Flow의 모든 관리 영역은 OCI가 전담하는 완전 관리형 서비스입니다.

    OCI Data Flow 주요 특징

    OCI Data Flow의 특징을 5가지로 요약할 수 있습니다.

    1. 인프라 관리 부담 최소화
    2. JOB 수행 결과 데이터 관리 자동화
    3. 통합 관리 정보 제공
    4. OCI 보안과 통합된 안전성
    5. 편리한 디버깅과 진단(Diagnostics)

    특징1: 인프라 관리 부담 최소화

    Data Flow 사용자가 Spark 애플리케이션을 Data Flow에 서비스에 등록하고 Job을 실행하면 필요한 인프라를 만들고, Job을 완료하면 인프라를 제거하는 서비리스 서비스입니다. Job을 완료하고 인프라를 제거하기 전에 Job 실행으로 발생한 모든 데이터와 로그를 별도 저장하여 통합 관리합니다.

    Data Flow 사용자는 인프라와 Spark 클러스터의 설치, 패치, 업그레이드 관리 부담을 느낄 필요가 없습니다. Data Flow 서비스가 인프라 프로비저닝, 네트워크 구성, 스토리지 관리 및 보안 설정을 모두 전담합니다. 또한 실행 데이터 관리와 사용을 마친 자원 제거까지 모든 인프라 관리 작업을 담당합니다.

    Data Flow 사용자는 인프라 운영에서 자유로울 수 있고 대규모 데이터 처리 Spark Application 개발에 집중할 수 있습니다.

    특징2: JOB 수행 결과 데이터 관리 자동화

    Data Flow가 실행한 모든 Job 데이터는 OCI Object Storage의 dataflow-log 버킷에 저장됩니다. 이 데이터는 Data Flow Run 상세 페이지에서 직접 조회할 수 있습니다.

    특징3: 통합된 Spark Job 정보 제공

    Data Flow는 Spark Job을 등록하고 실행한 모든 내역을 단일 UI로 효과적으로 제공합니다. Job을 수행하면서 생성된 모든 실행 로그, 출력 결과, 에러 로그, Spark 작업 프로파일 정보를 웹 UI로 제공하는 기능을 제공합니다.

    다음과 같이 Data Flow는 수행한 모든 Spark Job 정보를 안전하게 관리할 수 있고, 사용자가 활용하기 편리한 인터페이스(Web UI, API, CLI)를 제공합니다.

    특징4: OCI 보안과 통합된 안전성

    Data Flow는 OCI 보안 체계와 IAM( Identity and Access Management) 서비스와 완전 통합되어 있습니다. Object Storage 및 Data Flow에 대한 세밀한 권한 설정이 가능합니다.

    사용자 그룹별로 Job 등록, Job 수행, Job 결과 조회, Job 수행 로그 및 데이터 조회 등을 개별적으로 설정하여 데이터 안전성을 높이고 지정된 사용자에게만 자원을 공유하는 구성을 지원합니다.

    ALLOW GROUP dataflow-admin TO READ buckets IN <TENANCY>
    ALLOW GROUP dataflow-admin TO MANAGE dataflow-family IN <TENANCY>
    ALLOW GROUP dataflow-users TO READ buckets IN <TENANCY>
    ALLOW GROUP dataflow-users TO USE dataflow-family IN <TENANCY>
    ALLOW GROUP dataflow-users TO MANAGE dataflow-family IN <TENANCY>
    ALLOW GROUP dataflow-users TO MANAGE objects IN <TENANCY>
    ALLOW GROUP <group_name> TO USE dataflow-applications in compartment
    ALLOW GROUP <group_name> TO MANAGE dataflow-runs in in compartment
    ALLOW GROUP <group_name> TO MANAGE dataflow-runs in <tenancy> where target.user.id = request.user.id
    ALLOW GROUP dataflow-admin TO READ buckets IN <TENANCY>
    

    특징5: 편리한 디버깅과 진단(Diagnostics)

    Data Flow의 모든 Run 상세 페이지는 실행한 Spark 프로세스 상세 정보를 제공하는 Spark UI를 제공합니다. 이 Spark UI와 실행 로그를 이용하여 Spark 애플리케이션을 디버깅하고 상태를 진단할 수 있습니다.

    각 Run의 Spark UI는 영구적으로 제공됩니다.

    OCI Data Flow 관련 사이트


    Data Flow와 관련하여 다음과 같은 문서를 정리합니다.

    김태완 avatar
  • 작성자: 김태완
  • 사랑하는 민수와 데이터 관리, 데이터 분석 & 클라우드에 집중하고 있습니다.
  • E-mail: taewanme@gmail.com
  • Disclaimer
    이 저작물은 Oracle과 관계없이 개인으로서 개인의 시간을 할애하여 작성된 글 입니다. 본 글의 내용, 입장, 예측은 Oracle을 공식적으로 절대 대변하지 않습니다.