적용 대상: SQL Server 2019(15.x)
중요합니다
Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물 및 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.
Sparklyr는 Apache Spark에 대한 R 인터페이스를 제공합니다. Sparklyr는 R 개발자가 Spark를 사용하는 인기 있는 방법입니다. 이 문서에서는 RStudio를 사용하여 SQL Server 2019 빅 데이터 클러스터에서 sparklyr를 사용하는 방법을 설명합니다.
필수 조건
R 및 RStudio Desktop 설치
다음 단계를 사용하여 RStudio Desktop 을 설치하고 구성합니다.
Windows 클라이언트에서 실행하는 경우 R 3.6.3을 다운로드하여 설치합니다. 또한 RTools 3.5를 다운로드하여 설치합니다. PATH 환경 변수에서 RTools 이진 폴더를 구성해야 합니다.
경고
아래에 지정된 R 버전 4.x 및 sparklyr 버전은 SQL Server 빅 데이터 클러스터 CU13에서 작동하지 않는 것으로 확인됩니다.
RStudio Desktop을 다운로드하고 설치합니다. 필요에 따라 모든 샘플은 R 셸에서 작동합니다.
설치가 완료되면 RStudio Desktop 또는 R 셸 내에서 다음 명령을 실행하여 필요한 패키지를 설치합니다. 메시지가 표시되면 원본에서 패키지를 컴파일하도록 확인합니다.
install.packages("devtools")
devtools::install_github('rstudio/sparklyr', ref = 'v1.7.0', upgrade = 'always', repos = 'https://cran.microsoft.com/snapshot/2021-06-11/')
빅 데이터 클러스터에서 Spark에 연결
sparklyr를 사용하여 Livy 및 HDFS/Spark 게이트웨이를 사용하여 클라이언트에서 빅 데이터 클러스터로 연결할 수 있습니다.
RStudio에서 다음 예제와 같이 R 스크립트를 만들고 Spark에 연결합니다.
팁 (조언)
<AZDATA_USERNAME>
및 <AZDATA_PASSWORD>
값의 경우, 빅 데이터 클러스터 배포 중 설정한 사용자 이름과 암호를 사용하십시오.
SQL Server 2019(15.x) CU 5부터 기본 인증을 사용하여 새 클러스터를 배포하면 게이트웨이를 포함한 모든 엔드포인트가 AZDATA_USERNAME
및 AZDATA_PASSWORD
을 사용합니다. CU 5로 업그레이드된 클러스터의 엔드포인트는 게이트웨이 엔드포인트에 연결하는 사용자 이름으로 계속 사용됩니다 root
. 이 변경 내용은 Active Directory 인증을 사용하는 배포에는 적용되지 않습니다. 릴리스 정보에서 게이트웨이 엔드포인트를 통해 서비스에 액세스하기 위한 자격 증명 을 참조하세요.
<IP>
값 및 <PORT>
값에 대해서는 빅 데이터 클러스터에 연결하기에 대한 설명서를 참조하세요.
library(sparklyr)
library(dplyr)
library(DBI)
#Specify the Knox username and password
config <- livy_config(user = "<AZDATA_USERNAME>", password = "<AZDATA_PASSWORD>")
httr::set_config(httr::config(ssl_verifypeer = 0L, ssl_verifyhost = 0L))
sc <- spark_connect(master = "https://<IP>:<PORT>/gateway/default/livy/v1",
method = "livy",
config = config)
sparklyr 쿼리 실행
Spark에 연결한 후 sparklyr를 실행할 수 있습니다. 다음 예제에서는 sparklyr를 iris
사용하여 데이터 세트에 대한 쿼리를 수행합니다.
iris_tbl <- copy_to(sc, iris)
iris_count <- dbGetQuery(sc, "SELECT COUNT(*) FROM iris")
iris_count
분산 R 계산
sparklyr의 한 가지 기능은 spark_applyR 계산을 배포하는 기능입니다.
빅 데이터 클러스터는 Livy 연결을 사용하므로 spark_apply 호출에서 설정 packages = FALSE
해야 합니다. 자세한 내용은 분산 R 계산에 대한 sparklyr 설명서의 Livy 섹션 을 참조하세요. 이 설정을 사용하면 spark_apply 전달된 R 코드에서 Spark 클러스터에 이미 설치된 R 패키지만 사용할 수 있습니다. 다음 예제에서는 이 기능을 보여 줍니다.
iris_tbl %>% spark_apply(function(e) nrow(e), names = "nrow", group_by = "Species", packages = FALSE)
다음 단계
빅 데이터 클러스터에 대한 자세한 내용은 SQL Server 2019 빅 데이터 클러스터란?을 참조하세요.