Azure에 대한 R 개발자 가이드

R 로고

끊임없이 늘어나는 데이터를 다루는 여러 데이터 과학자는 클라우드 컴퓨팅의 강점을 분석에 활용할 수 있는 방법을 찾고 있습니다. 이 문서에서는 데이터 과학자가 Azure에서 R 프로그래밍 언어로 기존 기술을 사용할 수 있는 다양한 방법에 대한 개요를 제공합니다.

Microsoft은 데이터 과학자에게 최고의 도구인 R 프로그래밍 언어를 로 완벽하게 도입했습니다. 회사는 R 개발자가 Azure에서 코드를 실행할 때 사용할 수 있는 다양한 옵션을 제공하여 데이터 과학자가 대규모 프로젝트 진행 시 데이터 과학 워크로드를 클라우드로 확장할 수 있게 해줍니다.

다양한 옵션 및 각 옵션에 가장 적합한 시나리오를 살펴보겠습니다.

R 언어를 지원하는 Azure 서비스

이 문서에서는 R 언어를 지원하는 다음과 같은 Azure 서비스를 다룹니다.

서비스 설명
데이터 과학 가상 머신 데이터 과학 워크스테이션 또는 사용자 지정 컴퓨팅 대상으로 사용할 사용자 지정된 VM
HDInsight의 ML 서비스 여러 노드 간에 대규모 데이터 세트에 대한 R 분석을 실행하기 위한 클러스터 기반 시스템
Azure Databricks R 및 다른 언어를 지원하는 공동 작업 Spark 환경
Azure Machine Learning 기계 학습 모델을 학습, 배포, 자동화 및 관리하는 데 사용하는 클라우드 서비스
Azure Batch 클러스터의 여러 노드 간에 R 코드를 경제적으로 실행하기 위한 다양한 옵션 제공
Azure SQL Managed Instance SQL Server 데이터베이스 엔진 내에서 R 및 Python 스크립트 실행

데이터 과학 Virtual Machine

DSVM(Data Science Virtual Machine)은 데이터 과학 수행을 위해 특별히 구축된 Microsoft Azure 클라우드 플랫폼의 사용자 지정 VM 이미지입니다. 다음을 비롯한 여러 주요 데이터 과학 도구가 있습니다.

Windows 또는 Linux에서 DSVM을 운영 체제로 프로비전할 수 있습니다. DSVM은 대화형 워크스테이션 또는 사용자 지정 클러스터의 컴퓨팅 플랫폼으로 사용할 수 있습니다.

워크스테이션으로 사용

클라우드에서 쉽고 빠르게 R을 시작하려면 이 방법을 사용하는 것이 가장 좋습니다. 이 환경은 로컬 워크스테이션에서 R로 작업해본 경험이 있다면 익숙할 것입니다. 하지만 R 환경은 로컬 리소스를 사용하는 대신 클라우드의 VM에서 실행됩니다. 데이터가 이미 Azure에 저장된 경우 R 스크립트를 "데이터에 더 가깝게" 실행할 수 있다는 추가 이점이 있습니다. 인터넷을 통해 데이터를 전송하는 대신 Azure의 내부 네트워크를 통해 데이터에 액세스할 수 있으므로 액세스 시간이 훨씬 빨라집니다.

DSVM은 소규모 R 개발자 팀에게 특히 유용할 수 있습니다. 각 개발자는 각 개발자의 강력한 워크스테이션에 투자하고, 팀원에게 동일한 버전의 소프트웨어 패키지를 사용하도록 요구하는 대신 필요할 때마다 DSVM 인스턴스를 구동할 수 있습니다.

컴퓨팅 플랫폼으로 사용

DSVM은 워크스테이션으로 사용할 수 있을 뿐만 아니라 R 프로젝트에 맞게 유연하게 확장할 수 있는 컴퓨팅 플랫폼으로도 사용할 수 있습니다. AzureDSVM R 패키지를 사용하여 DSVM 인스턴스의 생성 및 삭제를 프로그래밍 방식으로 제어할 수 있습니다. 인스턴스를 클러스터로 형성하고 클라우드에서 수행할 분산 분석을 배포할 수 있습니다. 로컬 워크스테이션에서 실행되는 R 코드로 이 전체 프로세스를 제어할 수 있습니다.

DSVM에 대한 자세한 내용은 Linux 및 Windows용 Azure Data Science Virtual Machine 소개를 참조하세요.

HDInsight의 ML 서비스

Microsoft ML Services는 데이터 과학자, 통계학자 및 R 프로그래머에게 HDInsight의 확장 가능한 분산형 분석 방법에 요청 시 액세스할 수 있도록 해줍니다. 이 솔루션은 Azure Blob 또는 Data Lake Store에 로드된 거의 모든 크기의 데이터 세트에서 R 기반 분석을 위한 최신 기능을 제공합니다.

이는 클러스터 간에 R 코드를 확장할 수 있게 해주는 엔터프라이즈급 솔루션입니다. Microsoft의 RevoScaleR 패키지에 있는 기능을 사용하여 HDInsight의 R 스크립트가 클러스터의 여러 노드에서 병렬로 데이터 처리 함수를 실행할 수 있습니다. 그러면 R이 워크스테이션에서 실행 중인 단일 스레드 R보다 훨씬 더 큰 규모의 데이터를 고속으로 처리할 수 있습니다.

이러한 확장 기능을 제공하는 HDInsight의 ML Services는 대량의 데이터 집합을 다루는 R 개발자에게 유용한 옵션입니다. 클라우드에서 R 스크립트를 실행하는 데 필요한 유연하고 확장 가능한 플랫폼을 제공합니다. ML Services 클러스터를 만드는 방법에 대한 연습은 Azure HDInsight에서 ML Services 시작을 참조하세요.

Azure Databricks

Azure Databricks는 Microsoft Azure Cloud Services 플랫폼에 대해 최적화된 Apache Spark 기반 분석 플랫폼입니다. Apache Spark의 기반으로 설계된 Databricks는 Azure와 통합되어 원클릭 설정, 간소화된 워크플로 및 데이터 과학자, 데이터 엔지니어, 비즈니스 분석가가 협업할 수 있도록 하는 대화형 작업 영역을 제공합니다.

Databricks의 협업은 플랫폼 노트북 시스템에서 지원합니다. 사용자는 다른 시스템 사용자와 함께 노트북을 만들고, 공유하고, 편집할 수 있습니다. 사용자는 이러한 노트북을 통해 Databricks 환경에서 관리되는 Spark 클러스터에 실행되는 코드를 작성할 수 있습니다. 이러한 노트북은 R을 완벽하게 지원하며, SparkRsparklyr 패키지 모두를 통해 사용자에게 Spark에 대한 액세스를 제공합니다.

Databricks는 Spark에 기반을 두고 있고, 협업에 특히 중점을 두고 있으므로 대규모 데이터 세트의 복잡한 분석을 위해 협력하는 데이터 과학자 팀이 사용하는 경우가 많습니다. Databricks의 노트북은 R 외에 다른 언어도 지원하므로 분석가가 주 작업에 여러 언어를 사용하는 팀에 특히 유용합니다.

Azure Databricks란? 문서는 플랫폼에 대한 자세한 내용을 제공하고 시작하는 데 도움이 될 수 있습니다.

Azure Machine Learning

Azure Machine Learning은 기존 Machine Learning에서 딥 러닝, 지도 및 비지도 학습에 이르기까지 모든 종류의 기계 학습에 사용할 수 있습니다. Python 또는 R 코드를 작성하려 하든, 아니면 디자이너와 같은 코드를 사용하지 않거나 최소한의 코드만 사용하는 옵션을 사용하든, Azure Machine Learning 작업 영역에서 매우 정확한 기계 학습 및 딥 러닝 모델의 빌드, 학습 및 추적을 수행할 수 있습니다.

로컬 머신에서 학습을 시작한 다음, 클라우드로 확장할 수 있습니다. 지금 Azure Machine Learning을 사용하여 R에서 첫 번째 모델을 학습합니다.

Azure Batch

대규모 R 작업의 경우 Azure Batch를 사용할 수 있습니다. 이 서비스는 클라우드 규모의 작업 예약 및 컴퓨팅 관리를 제공하므로 수십, 수백 또는 수천 대의 가상 머신에서 R 워크로드를 확장할 수 있습니다. 일반화된 컴퓨팅 플랫폼이므로 Azure Batch에서 R 작업을 실행하기 위한 몇 가지 옵션이 있습니다.

Azure Batch에서 R 스크립트를 실행하기 위한 한 가지 옵션은 Azure Portal에서 "RScript.exe"를 사용하여 코드를 Batch 앱의 번들로 묶는 것입니다. 자세한 연습은 Azure Batch의 R 워크로드를 참조하세요.

또 다른 옵션은 Azure Batch에서 Docker 컨테이너를 사용하여 요청 시 Spark 클러스터를 프로비저닝할 수 있게 해주는 AZTK(Azure Distributed Data Engineering Toolkit)를 사용하는 것입니다. 이는 Azure에서 Spark 작업을 실행하는 경제적인 방법을 제공합니다. AZTK를 지원하는 SparklyR을 사용하면 클라우드에서 쉽고 저렴하게 R 스크립트를 확장할 수 있습니다.

Azure SQL Managed Instance

Azure SQL Managed Instance는 Microsoft의 지능적이고 확장 가능한 클라우드 데이터베이스 서비스입니다. 번거롭게 인프라를 설정하지 않고도 SQL Server의 모든 기능을 사용할 수 있게 해줍니다. 여기에는 고성능 예측 분석 및 기계 학습을 위한 Microsoft R 및 Python 패키지가 포함된 Machine Learning Services가 포함됩니다.

Machine Learning Services는 SQL Server 데이터베이스 내에서 R/Python 코드를 실행할 수 있는 포함된 예측 분석 및 데이터 과학 엔진을 제공합니다. 데이터베이스에서 데이터를 추출하여 R/Python 환경에 로드하는 대신 R/Python 코드를 데이터베이스에 직접 로드하고 데이터와 함께 바로 실행되도록 합니다. 관계형 데이터는 저장 프로시저, R/Python 문을 포함하는 T-SQL 스크립트 또는 T-SQL을 포함하는 R/Python 코드로 사용할 수 있습니다.

Machine Learning Services는 2016년부터 온-프레미스 SQL Server의 일부였지만 Azure SQL Managed Instance에는 비교적 최근에 추가되었습니다.

다음 단계


R 로고는 © 2016 The R Foundation이며 Creative Commons Attribution-ShareAlike 4.0 International 라이선스 약관에 따라 사용됩니다.