링크세상 링크모음
링크세상 링크모음 링크 애니 웹툰 링크 드라마 영화 링크 세상의모든링크

CDP 1부: CDP를 사용한 엔드투엔드 데이터 레이크하우스 아키텍처 소개

Cloudera Data Platform(CDP)은 빅데이터 변환, 머신러닝, 데이터 분석을 위한 하이브리드 데이터 플랫폼입니다. 이 시리즈에서는 Amazon Web Services(AWS)에서 Cloudera CDP Public Cloud를 사용하여 엔드 투 엔드 빅 데이터 아키텍처를 구축하고 사용하는 방법을 설명합니다.

우리의 아키텍처는 API에서 데이터를 검색하고, 데이터 레이크에 저장하고, 데이터 웨어하우스로 이동한 후 최종적으로 데이터 시각화 애플리케이션에서 분석 최종 사용자에게 제공하도록 설계되었습니다.

이 시리즈에는 다음 6개의 기사가 포함되어 있습니다.

아키텍처 고려 사항

우리 아키텍처의 목적은 여러 회사의 주가 변동을 분석할 수 있는 데이터 파이프라인을 지원하는 것입니다. 우리는 데이터를 검색하여 데이터 웨어하우스에 수집하고 결국 차트에 표시하여 시각적으로 통찰력을 얻을 것입니다.

이 아키텍처에는 다음 기능이 필요합니다.

  1. 웹 API에서 주식 데이터를 추출하여 클라우드 공급자의 스토리지 솔루션에 저장하는 애플리케이션이 필요합니다.

  2. 또한 데이터를 변환하고 데이터 웨어하우스에 로드하는 작업을 실행하는 기능도 필요합니다.

  3. 데이터 웨어하우스 솔루션은 들어오는 데이터를 저장하고 SQL 구문을 사용한 쿼리를 지원할 수 있어야 합니다. 또한 최신 Apache Iceberg 테이블 형식을 사용할 수 있는지 확인하고 싶습니다.

  4. 마지막으로 Cloudera 플랫폼에 기본적으로 제공되는 분석 서비스를 사용합니다.

이를 염두에 두고 CDP가 제공하는 기능을 자세히 살펴보겠습니다.

CDP 아키텍처

모든 CDP 계정은 CDP 퍼블릭 클라우드 서비스의 배포 및 운영을 용이하게 하는 공유 인프라인 제어 평면과 연결됩니다. Cloudera는 세 지역에서 제어 플레인을 제공합니다. us-west-1 미국에서 개최되었으며, eu-1 독일에 위치하고 있으며, ap-1 호주에 본사를 두고 있습니다. 글을 쓰는 시점에서, us-west-1 모든 데이터 서비스를 이용할 수 있는 유일한 지역입니다. 공식 CDP 퍼블릭 클라우드 문서에는 지역별로 사용 ​​가능한 서비스가 나열되어 있습니다.

CDP는 데이터를 호스팅하거나 계산을 수행하지 않습니다. 퍼블릭 클라우드 배포의 경우 CDP는 외부 클라우드 공급자(AWS, Azure 또는 Google Cloud)의 인프라를 사용하여 관리 서비스에 대한 계산을 수행하고 데이터를 저장합니다. 또한 CDP를 사용하면 사용자는 온프레미스 하드웨어 또는 클라우드 인프라를 사용하여 프라이빗 클라우드 배포를 생성할 수 있습니다. 후자의 경우 Cloudera는 인프라에서 호스팅되는 Cloudera Manager 애플리케이션을 제공하여 핵심 프라이빗 클라우드 클러스터를 구성하고 모니터링합니다. 이 기사와 후속 기사에서는 AWS를 사용한 퍼블릭 클라우드 배포에만 중점을 둘 것입니다.

CDP 퍼블릭 클라우드를 사용하면 사용자는 다양한 클라우드 제공업체에서 호스팅되는 여러 환경을 만들 수 있습니다. 환경은 관리형 CDP 서비스가 배포되는 가상 머신과 가상 네트워크를 그룹화합니다. 또한 사용자 ID 및 권한과 같은 사용자 구성도 보유합니다. 환경은 서로 독립적입니다. CDP 사용자는 동일한 클라우드 공급자에서 여러 환경을 실행하거나 다른 클라우드 공급자에서 여러 환경을 실행할 수 있습니다.

그러나 일부 CDP 서비스는 모든 클라우드 공급자에서 사용할 수 없습니다. 예를 들어, AWS에서 호스팅되는 환경만 작성하는 경우 CDP 데이터 엔지니어링 서비스에서 Apache Iceberg 테이블을 사용할 수 있습니다.

아래 스키마는 CDP와 외부 클라우드 제공업체 간의 관계를 설명합니다.


CDP 퍼블릭 클라우드 아키텍처

CDP 서비스

아래 이미지는 플랫폼의 웹 인터페이스인 CDP 콘솔의 랜딩 페이지를 보여줍니다. us-west-1 지역:


CDP us-west-1 콘솔 스크린샷

콘솔에 표시되는 서비스의 왼쪽에서 오른쪽 순서는 파이프라인 프로세스를 따르므로 논리적입니다. DataFlow 서비스는 다양한 소스에서 데이터를 추출하고, 데이터 엔지니어링 서비스는 데이터 변환을 처리합니다. 데이터 웨어하우스 또는 운영 데이터베이스 서비스는 즉시 사용 가능한 데이터를 저장하고, 마지막으로 기계 학습 서비스를 통해 데이터 과학자는 데이터에 대해 인공 지능(AI) 작업을 수행할 수 있습니다.

엔드투엔드 아키텍처에서 사용하는 서비스를 중심으로 서비스를 더 자세히 설명하겠습니다.

데이터 흐름

이 서비스는 사용자가 트리거를 사용하는 동안 다양한 소스에서 데이터를 가져와 AWS S3 버킷과 같은 스테이징을 위해 다양한 대상에 배치할 수 있는 스트리밍 애플리케이션입니다. 이 서비스의 기본 구성 요소는 Apache NiFi입니다. 사용자가 생성한 모든 데이터 스트림은 카탈로그에 저장됩니다. 사용자는 사용 가능한 흐름 중에서 선택하여 환경에 배포할 수 있습니다. 특정 목적을 위해 미리 만들어진 일부 흐름은 ReadyFlow 갤러리 아래에 나와 있습니다.


ReadyFlow 갤러리

DataFlow는 클라우드 공급자에 전용 클러스터를 생성하는 “배포”로 활성화되거나 서버리스 기술(AWS Lambda, Azure Functions 또는 Google Cloud Functions)을 사용하는 “함수” 모드로 활성화됩니다.

데이터 엔지니어링

이 서비스는 CDP 퍼블릭 클라우드의 핵심 ETL(추출, 변환 및 로드) 구성 요소입니다. 이후에 사용할 수 있도록 데이터를 수집하고 처리하여 파이프라인의 자동 조정을 수행합니다. DataFlow 서비스를 통해 준비 영역에서 데이터를 가져와 Spark 또는 AirFlow 작업을 실행합니다. 이 서비스를 사용하려면 사용자는 이를 활성화하고 이러한 오케스트레이션 작업을 실행할 수 있는 가상 클러스터를 생성해야 합니다. 또한 이 서비스에는 외부 클라우드 공급자의 가상 머신과 데이터베이스 클러스터가 필요합니다.


CDP 데이터 엔지니어링

데이터웨어 하우스

이 서비스를 통해 사용자는 데이터베이스와 테이블을 생성하고 SQL을 사용하여 데이터에 대한 쿼리를 수행할 수 있습니다. 웨어하우스에는 분석 가능한 데이터가 보관되어 있으며 서비스에는 데이터 시각화 기능이 포함되어 있습니다. 사용자는 자신의 환경에 맞게 데이터 웨어하우스 서비스를 활성화하고 소위 “가상 데이터 웨어하우스”를 생성하여 분석 워크로드를 처리해야 합니다. 이러한 작업은 외부 클라우드 공급자에 Kubernetes 클러스터와 파일 시스템 스토리지(AWS의 경우 EFS)를 생성합니다.


CDP 데이터 웨어하우스


CDP 데이터 시각화

운영 데이터베이스

이 서비스는 동적 데이터 작업을 위한 데이터베이스를 생성하며 OLTP(온라인 트랜잭션 처리)에 최적화되어 있습니다. 이는 온라인 분석 처리(OLAP)에 최적화된 데이터 웨어하우스 서비스와 구별됩니다. OLTP 기능이 필요하지 않으므로 운영 데이터베이스 서비스를 사용하지 않을 것이므로 더 이상 논의하지 않겠습니다. 빅 데이터의 다양한 파일 형식에 대한 기사에서 OLTP와 OLAP 처리의 차이점에 대해 자세히 알아볼 수 있으며 공식 Cloudera 문서에서 운영 데이터 저장소에 대한 자세한 내용을 확인할 수 있습니다.

기계 학습

CDP 머신러닝은 데이터 과학자가 추정, 분류 및 기타 AI 관련 작업을 수행하는 데 사용하는 도구입니다. 우리 아키텍처에서는 기계 학습이 필요하지 않으므로 이 서비스에 대해 더 자세히 설명하지 않습니다. 추가 정보는 Cloudera 웹사이트를 참조하세요.

우리의 아키텍처

이제 CDP가 제공하는 서비스를 살펴보았으므로 다음과 같은 아키텍처가 나타납니다.

  • 우리의 CDP 퍼블릭 클라우드 환경은 현재 Iceberg 테이블을 지원하는 유일한 옵션인 AWS에서 호스팅됩니다.

  • 데이터는 CDP DataFlow를 사용하여 수집되고 Amazon S3에 구축된 데이터 레이크에 저장됩니다.

  • 데이터 처리는 데이터 엔지니어링 서비스를 통해 실행되는 Spark 작업에 의해 처리됩니다.

  • 처리된 데이터는 데이터 웨어하우스에 로드되고 궁극적으로 내장된 데이터 시각화 기능을 통해 제공됩니다.

다음 두 문서에서는 환경을 구성합니다. 그런 다음 사용자 및 해당 권한을 관리하는 방법을 알아봅니다. 마지막으로 데이터 파이프라인을 생성합니다.

따라가세요: 전제조건

시리즈를 진행하면서 엔드투엔드 아키텍처를 직접 배포하려면 특정 요구 사항을 충족해야 합니다.

AWS 리소스 요구 사항 및 할당량

이전 섹션에서 설명한 대로 각 CDP 서비스는 외부 클라우드 공급자의 리소스를 프로비저닝합니다. 예를 들어, 필요한 모든 서비스를 실행하면 여러 가상 CPU가 포함된 소규모 EC2 인스턴스 집합이 배포됩니다.

따라서 서비스 할당량에 주의를 기울여야 합니다. Standard Instance Run on Demand (A, C, D, H, I, M, R, T, Z). 이 할당량은 동시에 프로비저닝할 수 있는 가상 CPU 수를 결정합니다.

할당량이 충분히 높은지 확인하고 필요한 경우 늘리려면 AWS 콘솔에서 다음을 수행하십시오.

  1. 리소스를 생성하려는 지역으로 이동합니다.
  2. 사용자 이름을 클릭하세요
  3. 클릭 서비스 할당량


AWS는 서비스 할당량을 관리합니다.

이제 EC2의 할당량을 살펴보겠습니다.

  1. 클릭 Amazon Elastic Compute Cloud(Amazon EC2)


AWS 서비스 할당량

vCPU 사용량을 제한하는 관련 할당량을 확인하려면 다음 안내를 따르세요.

  1. 유형 Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances
  2. 안전을 위해 가상 CPU 개수가 300개 이상인지 확인하세요.


AWS 서비스 할당량

할당량이 너무 제한적이면 증가를 요청하세요. 이 요청이 승인되려면 24시간 이상 걸릴 수 있습니다.

  1. 할당량 이름을 클릭합니다(위 스크린샷의 작업 3).
  2. 클릭 할당량 증가 요청 인상을 요청하다


AWS 할당량 증가 요청

다른 외부 클라우드 제공업체에도 가상 머신 생성에 대한 할당량이 있습니다. 환경에 CDP 관리형 서비스를 추가하려고 하는데 작업이 실패하는 상황에 처한 경우 항상 할당량이 원인인지 확인하는 것이 좋습니다.

이러한 할당량은 예산 보안상의 이유로 설정되었습니다. 더 많은 리소스를 사용하면 요금이 더 높아집니다. 이 기사 시리즈에 설명된 단계를 따르면 AWS 계정에 리소스가 생성됩니다. 이러한 리소스에는 약간의 비용이 발생합니다.. 클라우드 공급자와 연습할 때마다 이러한 비용을 미리 조사하고 더 이상 필요하지 않은 모든 리소스를 삭제하십시오.

AWS 계정 권한

CDP 퍼블릭 클라우드 배포에 필요한 구성을 수행하려면 최소한 관리자 액세스 권한이 있는 AWS 사용자에 대한 액세스 권한이 있어야 합니다. 이 사용자 계정은 루트 액세스 권한이 있는 사용자만 구성할 수 있습니다. 공식 AWS 설명서에 따라 사용자 권한을 적절하게 관리하십시오.

CDP 계정 등록

또한 Cloudera 라이선스와 최소한의 사용자 계정에 대한 액세스 권한이 있어야 합니다. PowerUser 특권. 조직에 Cloudera 라이선스가 있는 경우 관리자에게 문의하여 필요한 수준의 권한으로 액세스 권한을 얻으세요. 또는 CDP Public Cloud 평가판 등록을 고려할 수도 있습니다.

AWS 및 CDP 명령줄 인터페이스

CLI 명령이 익숙하지 않은 경우 이 시리즈에는 Cloudera 및 AWS에서 제공하는 웹 인터페이스를 통해 수행되는 모든 작업도 표시됩니다. 즉, 시스템에 AWS 및 CDP CLI 도구를 설치하도록 선택할 수 있습니다. 이러한 도구를 사용하면 더 빠르고 재현 가능한 방식으로 환경을 배포하고 서비스를 활성화할 수 있습니다.

AWS CLI 설치 및 구성

AWS CLI 설치는 AWS 설명서에 설명되어 있습니다.

NixOS 또는 Nix 패키지 관리자를 사용하는 경우 Nix 패키지 웹 사이트를 통해 AWS CLI를 설치하십시오.

AWS CLI를 구성하려면 AWS 설명서에 설명된 대로 계정의 액세스 키와 보안 액세스 키를 검색해야 합니다. 그런 다음 다음 명령을 실행하십시오.

액세스 키와 보안 액세스 키, 리소스를 생성하려는 지역을 제공하고 반드시 선택하세요. json ~처럼 Default output format. 이제 AWS CLI 명령을 사용할 준비가 되었습니다.

CDP CLI 설치 및 구성

CDP CLI는 Python 3.6 이상을 사용하며 시스템에 pip가 설치되어 있어야 합니다. Cloudera 설명서는 운영 체제에 대한 클라이언트 설치 프로세스를 안내합니다.

NixOS 또는 Nix 패키지 관리자를 사용하는 경우 먼저 virtualenv 패키지를 설치한 다음 Linux 운영 체제에 대한 단계를 따르는 것이 좋습니다.

다음 코드를 실행하여 CLI가 작동하는지 확인하세요.

AWS CLI와 마찬가지로 CDP CLI에도 액세스 키와 보안 액세스 키가 필요합니다. 해당 항목을 검색하려면 CDP 콘솔에 로그인하세요. 당신이 필요하다는 점에 유의하십시오 PowerUser 또는 IAMUser CDP에서 아래 작업을 수행하는 역할:

  • 왼쪽 하단에서 사용자 이름을 클릭한 다음 프로필


    CDP 홈페이지

  • 액세스 키 탭에서 다음을 클릭합니다. 액세스 키 생성


    CDP 프로필 페이지

  • CDP는 정보를 생성하여 화면에 표시합니다. 이제 자격 증명을 다운로드하여 저장하십시오. ~/.cdp/credentials 디렉토리 또는 명령을 실행하십시오 cdp configure 그러면 파일이 생성됩니다.

성공을 확인하려면 다음 코드를 실행하세요. 아래와 비슷한 출력이 표시됩니다.


CDP CLI 응답

이제 모든 것이 설정되었으므로 따라갈 준비가 되었습니다! 이 시리즈의 다음 장에서는 AWS에 CDP 퍼블릭 클라우드 환경을 배포할 예정입니다.