Spark 라이브러리 관리

적용 대상: 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 플랫폼의 빅 데이터 옵션을 참조하세요.

이 문서에서는 세션 및 Notebook 구성을 통해 Spark 세션의 패키지를 가져오고 설치하는 방법에 관한 지침을 제공합니다.

기본 제공 도구

Scala Spark(Scala 2.12) 및 Hadoop 기본 패키지

PySpark(Python 3.8) Pandas, Sklearn, Numpy 및 기타 데이터 처리 및 머신 러닝 패키지

MRO 3.5.2 패키지 Sparklyr 및 SparkR for R Spark 워크로드

런타임에 Spark 클러스터에 Maven 리포지토리의 패키지 설치

Spark 세션 시작 시 Notebook 셀 구성을 사용하여 Spark 클러스터에 Maven 패키지를 설치할 수 있습니다. Azure Data Studio에서 Spark 세션을 시작하기 전에 다음 코드를 실행합니다.

%%configure -f \
{"conf": {"spark.jars.packages": "com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1"}}

다중 패키지 및 추가 Spark 구성

다음 샘플 Notebook 셀에서는 다중 패키지가 정의됩니다.

%%configure -f \
{
    "conf": {
        "spark.jars.packages": "com.microsoft.azure:synapseml_2.12:0.9.4,com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.1",
        "spark.jars.repositories":"https://mmlspark.azureedge.net/maven"
    }
}

런타임에서 PySpark에 Python 패키지 설치

세션 및 작업 수준 패키지 관리는 라이브러리 일관성과 격리를 보장합니다. 구성은 Livy 세션에 적용할 수 있는 Spark 표준 라이브러리 구성입니다. azdata spark는 이러한 구성을 지원합니다. 아래 예제는 PySpark 커널이 있는 클러스터에 연결한 후 실행해야 하는 Azure Data Studio Notebook 구성 셀로 표시됩니다.

"spark.pyspark.virtualenv.enabled" : "true" 구성을 설정하지 않았다면 세션에서는 클러스터 기본 python과 설치된 라이브러리를 사용합니다.

requirements.txt를 사용하여 세션/작업 구성

설치할 패키지의 참조로 사용할 requirements.txt 파일의 경로를 HDFS에서 지정합니다.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.8",
        "spark.pyspark.virtualenv.requirements" : "hdfs://user/project-A/requirements.txt"
    }
}

다른 python 버전을 사용하여 세션/작업 구성

requirements 파일 없이 conda virtualenv를 만들고 Spark 세션 중에 패키지를 동적으로 추가합니다.

%%configure -f \
{
    "conf": {
        "spark.pyspark.virtualenv.enabled" : "true",
        "spark.pyspark.virtualenv.python_version": "3.7"
    }
}

라이브러리 설치

Sc.install_packages를 실행하여 세션에 라이브러리를 동적으로 설치합니다. 라이브러리는 드라이버 및 모든 실행기 노드에 설치됩니다.

sc.install_packages("numpy==1.11.0")
import numpy as np

또한 배열을 이용해 여러 라이브러리를 같은 명령에 설치할 수도 있습니다.

sc.install_packages(["numpy==1.11.0", "xgboost"])
import numpy as np
import xgboost as xgb

런타임에 사용하기 위해 HDFS에서 .jar 가져오기

Azure Data Studio Notebook 셀 구성을 통해 런타임에 jar를 가져옵니다.

%%configure -f
{"conf": {"spark.jars": "/jar/mycodeJar.jar"}}

다음 단계

SQL Server 빅 데이터 클러스터 및 관련 시나리오에 대한 자세한 내용은 SQL Server 빅 데이터 클러스터를 참조하세요.