Azure에 대한 R 개발자 가이드R developer's guide to Azure

R logo

끊임없이 늘어나는 데이터를 다루는 여러 데이터 과학자는 클라우드 컴퓨팅의 강점을 분석에 활용할 수 있는 방법을 찾고 있습니다.Many data scientists dealing with ever-increasing volumes of data are looking for ways to harness the power of cloud computing for their analyses. 이 문서에서는 데이터 과학자가 Azure에서 R 프로그래밍 언어와 기존 기술을 활용하는 다양한 방법을 간략히 보여줍니다.This article provides an overview of the various ways that data scientists can leverage their existing skills with the R programming language in Azure.

Microsoft은 데이터 과학자에게 최고의 도구인 R 프로그래밍 언어를 로 완벽하게 도입했습니다.Microsoft has fully embraced the R programming language as a first-class tool for data scientists. 회사는 R 개발자가 Azure에서 코드를 실행할 때 사용할 수 있는 다양한 옵션을 제공하여 데이터 과학자가 대규모 프로젝트 진행 시 데이터 과학 워크로드를 클라우드로 확장할 수 있게 해줍니다.By providing many different options for R developers to run their code in Azure, the company is enabling data scientists to extend their data science workloads into the cloud when tackling large-scale projects.

다양한 옵션 및 각 옵션에 가장 적합한 시나리오를 살펴보겠습니다.Let's examine the various options and the most compelling scenarios for each one.

R 언어를 지원하는 Azure 서비스Azure services with R language support

이 문서에서는 R 언어를 지원하는 다음과 같은 Azure 서비스를 다룹니다.This article covers the following Azure services that support the R language:

서비스Service 설명Description
데이터 과학 Virtual MachineData Science Virtual Machine 데이터 과학 워크스테이션 또는 사용자 지정 컴퓨팅 대상으로 사용할 사용자 지정된 VMa customized VM to use as a data science workstation or as a custom compute target
HDInsight의 ML 서비스ML Services on HDInsight 여러 노드 간에 대규모 데이터 세트에 대한 R 분석을 실행하기 위한 클러스터 기반 시스템cluster-based system for running R analyses on large datasets across many nodes
Azure DatabricksAzure Databricks R 및 다른 언어를 지원하는 공동 작업 Spark 환경collaborative Spark environment that supports R and other languages
Azure Machine LearningAzure Machine Learning 기계 학습 모델을 학습, 배포, 자동화 및 관리 하는 데 사용 하는 클라우드 서비스cloud service that you use to train, deploy, automate, and manage machine learning models
Machine Learning Studio (클래식)Machine Learning Studio (classic) Azure의 기계 학습 실험에서 사용자 지정 R 스크립트 실행run custom R scripts in Azure's machine learning experiments
Azure BatchAzure Batch 클러스터의 여러 노드 간에 R 코드를 경제적으로 실행하기 위한 다양한 옵션 제공offers a variety options for economically running R code across many nodes in a cluster
Azure 노트Azure Notebooks 무료 클라우드 기반 버전의 Jupyter 노트북a no-cost cloud-based version of Jupyter notebooks
Azure SQL DatabaseAzure SQL Database SQL Server 데이터베이스 엔진 내에서 R 스크립트 실행run R scripts inside of the SQL Server database engine

데이터 과학 가상 머신Data Science Virtual Machine

DSVM(데이터 과학 Virtual Machine)은 데이터 과학 수행을 위해 특별히 구축된 Microsoft Azure 클라우드 플랫폼의 사용자 지정 VM 이미지입니다.The Data Science Virtual Machine (DSVM) is a customized VM image on Microsoft’s Azure cloud platform built specifically for doing data science. 다음을 비롯한 여러 주요 데이터 과학 도구가 있습니다.It has many popular data science tools, including:

Windows 또는 Linux에서 DSVM을 운영 체제로 프로비전할 수 있습니다.The DSVM can be provisioned with either Windows or Linux as the operating system. DSVM은 대화형 워크스테이션 또는 사용자 지정 클러스터의 컴퓨팅 플랫폼으로 사용할 수 있습니다.You can use the DSVM in two different ways: as an interactive workstation or as a compute platform for a custom cluster.

워크스테이션으로 사용As a workstation

클라우드에서 쉽고 빠르게 R을 시작하려면 이 방법을 사용하는 것이 가장 좋습니다.If you want to get started with R in the cloud quickly and easily, this is your best bet. 이 환경은 로컬 워크스테이션에서 R로 작업해본 경험이 있다면 익숙할 것입니다.The environment will be familiar to anyone who has worked with R on a local workstation. 하지만 R 환경은 로컬 리소스를 사용하는 대신 클라우드의 VM에서 실행됩니다.However, instead of using local resources, the R environment runs on a VM in the cloud. Azure에 데이터가 이미 저장된 경우 R 스크립트가 "데이터에 더 가깝게" 실행되도록 할 수 있다는 추가적인 장점이 있습니다.If your data is already stored in Azure, this has the added benefit of allowing your R scripts to run "closer to the data." 인터넷을 통해 데이터를 전송하는 대신 더 빠르게 액세스할 수 있는 Azure의 내부 네트워크를 통해 데이터에 액세스할 수 있습니다.Instead of transferring the data across the Internet, the data can be accessed over Azure's internal network, which provides much faster access times.

DSVM은 소규모 R 개발자 팀에게 특히 유용할 수 있습니다.The DSVM can be particularly useful to small teams of R developers. 각 개발자는 각 개발자의 강력한 워크스테이션에 투자하고, 팀원에게 동일한 버전의 소프트웨어 패키지를 사용하도록 요구하는 대신 필요할 때마다 DSVM 인스턴스를 구동할 수 있습니다.Instead of investing in powerful workstations for each developer and requiring team members to synchronize on which versions of the various software packages they will use, each developer can spin up an instance of the DSVM whenever needed.

컴퓨팅 플랫폼으로 사용As a compute platform

DSVM은 워크스테이션으로 사용할 수 있을 뿐만 아니라 R 프로젝트에 맞게 유연하게 확장할 수 있는 컴퓨팅 플랫폼으로도 사용할 수 있습니다.In addition to being used as a workstation, the DSVM is also used as an elastically scalable compute platform for R projects. AzureDSVM R 패키지를 사용 하 여 dsvm 인스턴스의 생성 및 삭제를 프로그래밍 방식으로 제어할 수 있습니다.Using the AzureDSVM R package, you can programmatically control the creation and deletion of DSVM instances. 인스턴스를 클러스터로 형성하고 클라우드에서 수행할 분산 분석을 배포할 수 있습니다.You can form the instances into a cluster and deploy a distributed analysis to be performed in the cloud. 로컬 워크스테이션에서 실행되는 R 코드로 이 전체 프로세스를 제어할 수 있습니다.This entire process can be controlled by R code running on your local workstation.

DSVM에 대해 자세히 알아보려면 Linux 및 Windows 용 Azure Data Science Virtual Machine 소개를 참조 하세요.To learn more about the DSVM, see Introduction to Azure Data Science Virtual Machine for Linux and Windows.

HDInsight의 ML 서비스ML Services on HDInsight

Microsoft ML Services는 데이터 과학자, 통계학자 및 R 프로그래머에게 HDInsight의 확장 가능한 분산형 분석 방법에 요청 시 액세스할 수 있도록 해줍니다.Microsoft ML Services provide data scientists, statisticians, and R programmers with on-demand access to scalable, distributed methods of analytics on HDInsight. 이 솔루션은 Azure Blob 또는 Data Lake Store에 로드된 거의 모든 크기의 데이터 세트에서 R 기반 분석을 위한 최신 기능을 제공합니다.This solution provides the latest capabilities for R-based analytics on datasets of virtually any size, loaded to either Azure Blob or Data Lake storage.

이는 클러스터 간에 R 코드를 확장할 수 있게 해주는 엔터프라이즈급 솔루션입니다.This is an enterprise-grade solution that allows you to scale your R code across a cluster. Microsoft RevoScaleR 에서 함수 활용By leveraging functions in Microsoft's RevoScaleR 패키지를 통해 HDInsight의 R 스크립트는 클러스터의 여러 노드에서 병렬로 데이터 처리 기능을 실행할 수 있습니다.package, your R scripts on HDInsight can run data processing functions in parallel across many nodes in a cluster. 그러면 R이 워크스테이션에서 실행 중인 단일 스레드 R보다 훨씬 더 큰 규모의 데이터를 고속으로 처리할 수 있습니다.This allows R to crunch data on a much larger scale than is possible with single-threaded R running on a workstation.

이러한 확장 기능을 제공하는 HDInsight의 ML Services는 대량의 데이터 집합을 다루는 R 개발자에게 유용한 옵션입니다.This ability to scale makes ML Services on HDInsight a great option for R developers with massive data sets. 클라우드에서 R 스크립트를 실행하는 데 필요한 유연하고 확장 가능한 플랫폼을 제공합니다.It provides a flexible and scalable platform for running your R scripts in the cloud.

ML 서비스 클러스터를 만드는 방법에 대 한 연습은 Azure HDInsight에서 Ml 서비스 시작을 참조 하세요.For a walk-through on creating an ML Services cluster, see Get started with ML Services on Azure HDInsight.

Azure DatabricksAzure Databricks

Azure Databricks는 Microsoft Azure 클라우드 서비스 플랫폼에 최적화된 Apache Spark 기반 분석 플랫폼입니다.Azure Databricks is an Apache Spark-based analytics platform optimized for the Microsoft Azure cloud services platform. Apache Spark의 기반으로 설계된 Databricks는 Azure와 통합되어 원클릭 설정, 간소화된 워크플로 및 데이터 과학자, 데이터 엔지니어, 비즈니스 분석가가 협업할 수 있도록 하는 대화형 작업 영역을 제공합니다.Designed with the founders of Apache Spark, Databricks is integrated with Azure to provide one-click setup, streamlined workflows, and an interactive workspace that enables collaboration between data scientists, data engineers, and business analysts.

Databricks의 협업은 플랫폼 노트북 시스템에서 지원합니다.The collaboration in Databricks is enabled by the platform's notebook system. 사용자는 다른 시스템 사용자와 함께 노트북을 만들고, 공유하고, 편집할 수 있습니다.Users can create, share, and edit notebooks with other users of the systems. 사용자는 이러한 노트북을 통해 Databricks 환경에서 관리되는 Spark 클러스터에 실행되는 코드를 작성할 수 있습니다.These notebooks allow users to write code that executes against Spark clusters managed in the Databricks environment. 이러한 노트북은 R을 완벽하게 지원하며, SparkRsparklyr 패키지 모두를 통해 사용자에게 Spark에 대한 액세스를 제공합니다.These notebooks fully support R and give users access to Spark through both the SparkR and sparklyr packages.

Databricks는 Spark에 기반을 두고 있고, 협업에 특히 중점을 두고 있으므로 대규모 데이터 세트의 복잡한 분석을 위해 협력하는 데이터 과학자 팀이 사용하는 경우가 많습니다.Since Databricks is built on Spark and has a strong focus on collaboration, the platform is often used by teams of data scientists that work together on complex analyses of large data sets. Databricks의 노트북은 R 외에 다른 언어도 지원하므로 분석가가 주 작업에 여러 언어를 사용하는 팀에 특히 유용합니다.Because the notebooks in Databricks support other languages in addition to R, it is especially useful for teams where analysts use different languages for their primary work.

Azure Databricks 이란 ? 문서는 플랫폼에 대 한 자세한 정보를 제공 하 고 시작 하는 데 도움이 될 수 있습니다.The article What is Azure Databricks? can provide more details about the platform and help you get started.

Azure Machine LearningAzure Machine Learning

Azure Machine Learning 은 기존 기계 학습에서 심층 학습, 감독 및 자율 학습에 이르기까지 모든 종류의 기계 학습에 사용할 수 있습니다.Azure Machine Learning can be used for any kind of machine learning, from classical machine learning to deep learning, supervised and unsupervised learning. Python 또는 R 코드를 작성 하 든, 디자이너와 같은 코드 없는 코드/낮은 코드 옵션을 작성 하 든, Azure Machine Learning 작업 영역에서 매우 정확한 기계 학습 및 심층 학습 모델을 작성, 학습 및 추적할 수 있습니다.Whether you prefer to write Python or R code or zero-code/low-code options such as the designer, you can build, train and track highly accurate machine learning and deep-learning models in an Azure Machine Learning Workspace.

로컬 머신에서 학습을 시작한 다음, 클라우드로 확장할 수 있습니다.Start training on your local machine and then scale out to the cloud. 현재 Azure Machine Learning를 사용 하 여 R에서 첫 번째 모델을 학습 합니다.Train your first model in R with Azure Machine Learning today.

Azure Machine Learning Studio (클래식)Azure Machine Learning Studio (classic)

Machine Learning Studio (클래식) 은 클라우드에서 예측 분석 솔루션을 빌드, 테스트 및 배포 하는 데 사용할 수 있는 공동 끌어서 놓기 도구입니다.Machine Learning Studio (classic) is a collaborative, drag-and-drop tool you can use to build, test, and deploy predictive analytics solutions in the cloud. 신흥 데이터 과학자가 대량의 코드를 작성할 필요 없이 기계 학습 모델을 만들고 배포하도록 지원합니다.It enables emerging data scientists to create and deploy machine learning models without the need to write much code.

Azure Machine Learning Studio (클래식)은 R과 Python을 모두 지원 합니다.Azure Machine Learning Studio (classic) supports both R and Python.

현재 Machine Learning Studio (클래식)를 사용 하거나 평가 하는 고객은 Azure Machine Learning designer (미리 보기)를 사용해 볼 수 있습니다 .이는 끌어서 놓기 ML 모듈과 확장성, 버전 제어 및 엔터프라이즈 보안을 제공 합니다.Customers currently using or evaluating Machine Learning Studio (classic) are encouraged to try Azure Machine Learning designer (preview), which provides drag-n-drop ML modules plus scalability, version control, and enterprise security.

Azure BatchAzure Batch

대규모 R 작업의 경우 Azure Batch를 사용할 수 있습니다.For large-scale R jobs, you can use Azure Batch. 이 서비스는 클라우드 규모의 작업 예약 및 컴퓨팅 관리를 제공하므로 수십, 수백 또는 수천 대의 가상 머신에서 R 워크로드를 확장할 수 있습니다.This service provides cloud-scale job scheduling and compute management so you can scale your R workload across tens, hundreds, or thousands of virtual machines. 일반화된 컴퓨팅 플랫폼이므로 Azure Batch에서 R 작업을 실행하기 위한 몇 가지 옵션이 있습니다.Since it is a generalized computing platform, there a few options for running R jobs on Azure Batch.

한 가지 옵션은 Microsoft의 doAzureParallel 패키지를 사용 하는 것입니다.One option is to use Microsoft's doAzureParallel package. 이 R 패키지는 foreach 패키지의 병렬 백 엔드입니다.This R package is a parallel backend for the foreach package. foreach 루프 반복이 Azure Batch 클러스터 내 노드에서 동시에 실행될 수 있게 해줍니다.It allows each iteration of the foreach loop to run in parallel on a node within the Azure Batch cluster. 패키지에 대 한 소개는 블로그 게시물 Doazureparallel: R 세션에서 직접 Azure의 유연한 계산 활용을 참조 하세요.For an introduction to the package, see the blog post doAzureParallel: Take advantage of Azure’s flexible compute directly from your R session.

Azure Batch에서 R 스크립트를 실행하기 위한 다른 옵션은 Azure Portal에서 "RScript.exe"를 사용하여 코드를 Batch 앱의 번들로 묶는 것입니다.Another option for running an R script in Azure Batch is to bundle your code with "RScript.exe" as a Batch App in the Azure portal. 자세한 연습을 보려면 Azure Batch에서 R 워크 로드를 참조 하세요.For a detailed walk-through, consult R Workloads on Azure Batch.

세 번째 옵션은 Azure Batch에서 Docker 컨테이너를 사용하여 요청 시 Spark 클러스터를 프로비전할 수 있게 해주는 Azure Distributed Data Engineering Toolkit(AZTK)을 사용하는 것입니다.A third option is to use the Azure Distributed Data Engineering Toolkit (AZTK), which allows you to provision on-demand Spark clusters using Docker containers in Azure Batch. 이는 Azure에서 Spark 작업을 실행하는 경제적인 방법을 제공합니다.This provides an economical way to run Spark jobs in Azure. AZTK를 지원하는 SparklyR을 사용하면 클라우드에서 쉽고 저렴하게 R 스크립트를 확장할 수 있습니다.By using SparklyR with AZTK, your R scripts can be scaled out in the cloud easily and economically.

Azure NotebooksAzure Notebooks

Azure Notebooks는 노트북을 사용하여 Azure에 코드를 작성하는 것을 선호하는 R 개발자를 위한 무난한 저가형 서비스입니다.Azure Notebooks is a low-cost, low-friction method for R developers who prefer working with notebooks to bring their code to Azure. markdown 문서, 실행 가능한 코드 및 그래픽을 단일 캔버스에 결합하는 데 사용되는 오픈 소스 프로젝트인 Jupyter를 사용하여 브라우저에서 코드를 개발하고 실행할 수 있게 해주는 무료 서비스입니다.It is a free service for anyone to develop and run code in their browser using Jupyter, which is an open-source project that enables combing markdown prose, executable code, and graphics onto a single canvas.

Azure Notebooks의 무료 서비스 계층은 각 노트북의 프로세스를 4gb의 메모리와 1gb의 데이터 집합으로 제한 하므로 소규모 프로젝트에 사용할 수 있는 옵션입니다.The free service tier of Azure Notebooks is a viable option for small-scale projects, as it limits each notebook's process to 4 GB of memory and 1 GB data sets. 하지만 이러한 제한보다 높은 컴퓨팅 및 데이터 성능이 필요한 경우 Data Science Virtual Machine 인스턴스에서 Notebook을 실행하면 됩니다.If you need compute and data power beyond these limitations, however, you can run notebooks in a Data Science Virtual Machine instance. 자세한 내용은 Azure Notebooks 프로젝트 관리 및 구성 - 컴퓨팅 계층을 참조하세요.For more information, see Manage and configure Azure Notebooks projects - Compute tier.

Azure SQL DatabaseAzure SQL Database

Azure SQL Database는 Microsoft의 완전히 관리되는 완전 지능형의 관계형 클라우드 데이터베이스 서비스입니다.Azure SQL Database is Microsoft's intelligent, fully managed relational cloud database service. 번거롭게 인프라를 설정하지 않고도 SQL Server의 모든 기능을 사용할 수 있게 해줍니다.It allows you to use the full power of SQL Server without any hassle of setting up the infrastructure. 여기에는 SQL의 최근 추가 항목 중 하나인 SQL Server의 Machine Learning Services포함 됩니다.This includes Machine Learning Services in SQL Server, which is one of the more recent additions to SQL.

이 기능은 SQL Server 데이터베이스 내에서 저장 프로시저로 실행하거나, R 문이 포함된 T-SQL 스크립트로 실행하거나, T-SQL이 포함된 R 코드로 실행할 수 있는 예측 분석 및 데이터 과학 엔진을 기본 제공합니다.This feature offers an embedded, predictive analytics and data science engine that can execute R code within a SQL Server database as stored procedures, as T-SQL scripts containing R statements, or as R code containing T-SQL. 데이터베이스에서 데이터를 추출하고 R 환경으로 로드하는 대신 데이터베이스에 직접 R 코드를 로드하고 데이터와 함께 바로 실행할 수 있게 해줍니다.Instead of extracting data from the database and loading it into the R environment, you load your R code directly into the database and let it run right alongside the data.

Machine Learning Services는 2016년부터 온-프레미스 SQL Server에 포함되었지만 Azure SQL Database에는 비교적 최근에 추가되었습니다.While Machine Learning Services has been part of on-premises SQL Server since 2016, it is relatively new to Azure SQL Database. 현재 제한된 미리 보기 상태이지만 계속 개선될 예정입니다.It is currently in limited preview but will continue to evolve.

다음 단계Next steps


R 로고는 © 2016 The R Foundation이며, Creative Commons Attribution-ShareAlike 4.0 International 라이선스에 따라 사용됩니다.The R logo is © 2016 The R Foundation and is used under the terms of the Creative Commons Attribution-ShareAlike 4.0 International license.