Azure Databricks를 사용하여 데이터 통합 및 분석 솔루션 디자인

완료됨

Azure Databricks는 개발자가 AI와 혁신을 가속화할 수 있는 완전히 관리되는 클라우드 기반 빅 데이터 및 기계 학습 플랫폼입니다. Azure Databricks는 데이터 과학 및 엔지니어링 팀에게 빅 데이터 처리 및 Machine Learning을 위한 단일 플랫폼을 제공합니다. Azure Databricks의 관리되는 Apache Spark 플랫폼을 사용하면 대규모 Spark 워크로드를 간단하게 실행할 수 있습니다.

Azure Databricks에 대해 알아야 할 사항

Azure Databricks는 전적으로 Apache Spark를 기반으로 하며, 오픈 소스 클러스터 컴퓨팅 프레임워크에 이미 익숙한 사용자에게 적합한 도구입니다. Databricks는 빅 데이터 처리를 위해 특별히 설계되었습니다. 데이터 과학자는 SQL, Java, Python, R 및 Scala 같은 핵심 언어에 대한 기본 제공 핵심 API를 활용할 수 있습니다.

Azure Databricks에는 컨트롤 플레인과 데이터 평면이 있습니다.

  • 컨트롤 플레인: Databricks 작업, 쿼리 결과 포함 Notebook 및 클러스터 관리자를 호스트합니다. 또한 컨트롤 플레인에는 웹 애플리케이션, 하이브 메타스토어 및 ACL(보안 액세스 제어 목록) 및 사용자 세션도 있습니다. Microsoft는 Azure Databricks와 협업하여 이러한 구성 요소를 관리합니다.
  • 데이터 평면: 작업 영역 내에서 호스트되는 모든 Azure Databricks 런타임 클러스터가 포함됩니다. 모든 데이터 처리 및 스토리지는 클라이언트 구독에 있습니다. Microsoft/Databricks에서 관리하는 구독에서 데이터 처리가 수행되지 않습니다.

Azure Databricks는 데이터 집약적 애플리케이션을 개발할 수 있는 다음과 같은 세 가지 환경을 제공합니다.

  • Databricks SQL: Azure Databricks SQL은 데이터 레이크에서 SQL 쿼리를 실행하려는 분석가를 위해 사용하기 쉬운 플랫폼을 제공합니다. 여러 시각화 유형을 생성하여 다양한 관점에서 쿼리 결과를 탐색하고 대시보드를 구축 및 공유할 수 있습니다.
  • Databricks 데이터 과학 및 엔지니어링: Azure Databricks 데이터 과학 및 엔지니어링은 데이터 엔지니어, 데이터 과학자 및 기계 학습 엔지니어 간의 협업을 가능하게 하는 대화형 작업 영역입니다. 빅 데이터 파이프라인의 경우 데이터(원시 또는 구조적 데이터)는 Azure Data Factory를 통해 일괄 처리로 수집되거나 Apache Kafka, Azure Event Hubs 또는 Azure IoT Hub를 사용하여 근 실시간으로 스트리밍됩니다. 이 데이터는 Azure Blob Storage 또는 Azure Data Lake Storage에서 장기 저장을 위한 데이터 레이크에 배치됩니다. 분석 워크플로의 일부로 Azure Databasericks를 사용하여 여러 데이터 소스의 데이터를 읽고 Spark를 사용하여 획기적인 인사이트로 전환할 수 있습니다.
  • Databricks Machine Learning: Azure Databricks Machine Learning은 통합된 엔드 투 엔드 기계 학습 환경입니다. 실험 추적, 모델 교육, 기능 개발 및 관리, 기능 및 모델 제공을 위한 관리형 서비스를 통합합니다.

비즈니스 시나리오

중장비 제조 부문에서 Tailwind Traders에 대한 시나리오를 분석해 보겠습니다. Tailwind Traders는 빅 데이터 요구 사항에 Azure 클라우드 서비스를 사용하고 있습니다. 일괄 처리 데이터와 스트리밍 데이터를 모두 사용하고 있습니다. 이 부서는 데이터 엔지니어, 데이터 과학자 및 데이터 분석가를 투입하여 많은 관련자를 위해 신속한 통찰력 있는 보고를 생성합니다. 빅 데이터 요구 사항을 충족하기 위해 Azure Databricks를 추천하고 데이터 과학 및 엔지니어링 환경을 구현할 계획입니다.

Azure Databricks가 이러한 요구 사항을 충족하는 올바른 선택이 될 수 있는 이유를 검토해 보겠습니다.

  • Azure Databricks는 여러 사용자 간의 공동 작업이 가능한 Apache Spark를 기반으로 하는 통합 분석 작업 영역을 제공합니다.
  • Azure Databricks는 Spark SQL 및 Dataframes 같은 Spark 구성 요소를 사용하여 구조적 데이터를 처리할 수 있습니다. 스트리밍 데이터를 처리하기 위해 Kafka, Flume 같은 실시간 데이터 수집 도구와 통합됩니다.
  • Spark 위에 구축된 보안 데이터 통합 기능을 사용하면 중앙 집중화 하지 않고도 데이터를 통합할 수 있습니다. 데이터 과학자는 몇 단계로 데이터를 시각화하고 Matplotlib, ggplot 또는 d3 같은 친숙한 도구를 사용할 수 있습니다.
  • Azure Databricks 런타임이 인프라 복잡성과 데이터 인프라를 설정하고 구성하기 위해 전문 기술의 필요성을 추상화합니다. 사용자는 Python, Scala 및 R에 대한 기존 언어 기술을 사용하고 데이터를 탐색할 수 있습니다.
  • Azure Databricks는 Azure 데이터베이스 및 Azure Synapse Analytics, Azure Cosmos DB, Azure Data Lake Storage 및 Azure Blob Storage 같은 저장소와 긴밀하게 통합됩니다. Tailwind Traders 빅 데이터 스토리지 요구 사항을 충족하는 다양한 데이터 저장소 플랫폼을 지원합니다.
  • Power BI와 통합하면 Tailwind Traders에 대한 요구 사항인 신속하고 의미 있는 인사이트를 사용할 수 있습니다.
  • Azure Databricks SQL은 구조화되지 않은 데이터를 처리할 수 없으므로 올바른 선택이 아닙니다.
  • 이 시나리오에서는 기계 학습이 요구 사항이 아니기 때문에 Azure Databricks Machine Learning도 올바른 환경 선택이 아닙니다.

Azure Databricks를 사용할 때 고려해야 할 사항

여러 시나리오에 대한 솔루션으로 Azure Databricks를 사용할 수 있습니다. 서비스가 Tailwind Traders에 대한 데이터 통합 솔루션에 어떻게 도움이 될 수 있는지 고려합니다.

  • 데이터 과학 데이터 준비를 고려합니다. 복잡한 비구조적 데이터의 클러스터를 만들고, 복제하고, 편집합니다. 데이터 클러스터를 특정 작업으로 전환합니다. 검토를 위해 데이터 과학자 및 데이터 분석가에게 결과를 제공합니다.
  • 데이터의 인사이트를 고려합니다. Azure Databricks를 구현하여 권장 사항 엔진, 변동 분석 및 침입 검색을 빌드합니다.
  • 데이터 및 분석 팀 전체에서 생산성을 고려합니다. 데이터 엔지니어, 분석가 및 과학자를 위한 공동 작업 환경 및 공유 작업 영역을 만듭니다. 팀은 데이터 과학 수명 주기 전반에 걸쳐 공유 작업 영역으로 협업할 수 있으므로 귀중한 시간과 리소스를 절약할 수 있습니다.
  • 빅 데이터 워크로드를 고려합니다. 빅 데이터 워크로드에 대한 최상의 성능과 안정성을 얻으려면 Azure Data Lake 및 엔진을 연습합니다. 소란스럽지 않은 다단계 데이터 파이프라인을 만듭니다.
  • 기계 학습 프로그램을 고려합니다. 통합된 엔드 투 엔드 기계 학습 환경을 활용합니다. 실험 추적, 모델 교육, 기능 개발 및 관리, 기능 및 모델 제공을 위한 관리형 서비스를 통합합니다.