다음을 통해 공유


Spark 라이브러리 관리

적용 대상: SQL Server 2019(15.x)

Important

Microsoft SQL Server 2019 빅 데이터 클러스터는 사용 중지되었습니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일부터 종료되었습니다. 자세한 내용은 Microsoft SQL Server 플랫폼의 공지 블로그 게시물 및 빅 데이터 옵션을 참조하세요.

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

Built-in tools

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

PySpark(Python 3.8). Pandas, Sklearn, Numpy 및 기타 데이터 처리 및 기계 학습 패키지.

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

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

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 는 이러한 구성을 지원합니다. 아래 예제는 Azure Data Studio Notebooks 가 PySpark 커널을 사용하여 클러스터에 연결한 후 실행해야 하는 셀을 구성함에 따라 표시됩니다.

"spark.pyspark.virtualenv.enabled": "true" 구성이 설정되지 않은 경우 세션은 클러스터 기본 python 및 설치된 라이브러리를 사용합니다.

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

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

%%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 버전을 사용하여 세션/작업 구성

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

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

Library installation

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"}}

Next steps

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