Databricks Notebook을 실행하여 데이터 변환

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

파이프라인의 Azure Databricks Notebook 작업은 Azure Databricks 작업 영역에서 Databricks Notebook을 실행합니다. 이 문서는 데이터 변환 및 지원되는 변환 활동의 일반적인 개요를 표시하는 데이터 변환 활동 문서에서 작성합니다. Azure Databricks는 Apache Spark를 실행하기 위해 관리되는 플랫폼입니다.

JSON을 사용하거나 Azure Data Factory Studio 사용자 인터페이스를 통해 직접 ARM 템플릿으로 Databricks Notebook을 만들 수 있습니다. 사용자 인터페이스를 사용하여 Databricks Notebook 작업을 만드는 방법의 단계별 연습은 Azure Data Factory에서 Databricks Notebook 작업으로 Databricks Notebook 실행 자습서를 참조하세요.

UI를 사용하여 파이프라인에 Azure Databricks에 대한 Notebook 작업 추가

파이프라인에서 Azure Databricks에 대한 Notebook 작업을 사용하려면 다음 단계를 완료합니다.

  1. 파이프라인 작업 창에서 Notebook을 검색하고 Notebook 작업을 파이프라인 캔버스로 끕니다.

  2. 아직 선택하지 않은 경우 캔버스에서 새 Notebook 작업을 선택합니다.

  3. Azure Databricks 탭을 선택하여 Notebook 작업을 실행할 새 Azure Databricks 연결된 서비스를 선택하거나 만듭니다.

    Shows the UI for a Notebook activity.

  4. 설정 탭을 선택하고 Azure Databricks에서 실행할 Notebook 경로, Notebook에 전달할 선택적 기본 매개 변수 및 작업을 실행하기 위해 클러스터에 설치할 추가 라이브러리를 지정합니다.

    Shows the UI for the Settings tab for a Notebook activity.

Databricks Notebook 활동 정의

Databricks Notebook 활동에 대한 샘플 JSON 정의는 다음과 같습니다.

{
    "activity": {
        "name": "MyActivity",
        "description": "MyActivity description",
        "type": "DatabricksNotebook",
        "linkedServiceName": {
            "referenceName": "MyDatabricksLinkedservice",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "notebookPath": "/Users/user@example.com/ScalaExampleNotebook",
            "baseParameters": {
                "inputpath": "input/folder1/",
                "outputpath": "output/"
            },
            "libraries": [
                {
                "jar": "dbfs:/docs/library.jar"
                }
            ]
        }
    }
}

Databricks Notebook 활동 속성

다음 표에서는 JSON 정의에 사용하는 JSON 속성을 설명합니다.

속성 설명 필수
name 파이프라인의 작업 이름입니다.
description 작업이 어떤 일을 수행하는지 설명하는 텍스트입니다. 아니요
type Databricks Notebook 활동의 경우 활동 유형은 DatabricksNotebook입니다.
linkedServiceName Databricks Notebook이 실행되는 Databricks 연결된 서비스의 이름입니다. 이 연결된 서비스에 대한 자세한 내용은 컴퓨팅 연결 서비스 문서를 참조하세요.
notebookPath Databricks 작업 영역에서 실행할 노트북의 절대 경로입니다. 이 경로는 슬래시로 시작해야 합니다.
baseParameters 키-값 쌍의 배열입니다. 각 활동 실행에 기본 매개 변수를 사용할 수 있습니다. 노트북에서 지정되지 않은 매개 변수를 사용하는 경우, 노트북의 기본값이 사용됩니다. 매개 변수에 대한 자세한 정보는 Databricks Notebook을 참조하세요. 아니요
라이브러리 작업을 실행할 클러스터에 설치할 라이브러리의 목록입니다. <문자열, 개체>의 배열일 수 있습니다. 아니요

Databricks 활동의 지원되는 라이브러리

위의 Databricks 활동 정의에서 jar, egg, whl, maven, pypi, cran 라이브러리 유형을 지정합니다.

{
    "libraries": [
        {
            "jar": "dbfs:/mnt/libraries/library.jar"
        },
        {
            "egg": "dbfs:/mnt/libraries/library.egg"
        },
        {
            "whl": "dbfs:/mnt/libraries/mlflow-0.0.1.dev0-py2-none-any.whl"
        },
        {
            "whl": "dbfs:/mnt/libraries/wheel-libraries.wheelhouse.zip"
        },
        {
            "maven": {
                "coordinates": "org.jsoup:jsoup:1.7.2",
                "exclusions": [ "slf4j:slf4j" ]
            }
        },
        {
            "pypi": {
                "package": "simplejson",
                "repo": "http://my-pypi-mirror.com"
            }
        },
        {
            "cran": {
                "package": "ada",
                "repo": "https://cran.us.r-project.org"
            }
        }
    ]
}

자세한 내용은 라이브러리 유형에 대한 Databricks 설명서를 참조하세요.

Notebook과 파이프라인 간 매개 변수 전달

Databricks 작업의 baseParameters 속성을 사용하여 Notebook에 매개 변수를 전달할 수 있습니다.

경우에 따라 Notebook에서 서비스로 특정 값을 다시 전달해야 할 수 있습니다. 이 값은 서비스에서 제어 흐름(조건부 검사)에 사용되거나 다운스트림 작업에서 사용될 수 있습니다(크기 제한은 2MB).

  1. Notebook에서 dbutils.notebook.exit(“returnValue”)를 호출하면 해당하는 “returnValue”가 서비스에 반환됩니다.

  2. @{activity('databricks notebook activity name').output.runOutput}과 같은 식을 사용하여 서비스에서 출력을 사용할 수 있습니다.

    Important

    JSON 개체를 전달하는 경우, 속성 이름을 추가하여 값을 검색할 수 있습니다. 예: @{activity('databricks notebook activity name').output.runOutput.PropertyName}

Databricks에서 라이브러리를 업로드하는 방법

작업 영역 UI를 사용할 수 있습니다.

  1. Databricks 작업 영역 UI 사용

  2. UI를 사용하여 추가된 라이브러리의 dbfs 경로를 얻으려면 Databricks CLI를 사용하면 됩니다.

    일반적으로 Jar 라이브러리는 UI를 사용하는 동안 dbfs:/FileStore/jars 아래에 저장됩니다. databricks fs ls dbfs:/FileStore/job-jars CLI를 통해 모두 나열할 수 있습니다.

또는 Databricks CLI를 사용할 수 있습니다.

  1. Databricks CLI를 사용하여 라이브러리 복사를 따르세요.

  2. Databricks CLI (설치 단계)를 사용합니다.

    예를 들어, JAR를 DBFS에 복사하려면 dbfs cp SparkPi-assembly-0.1.jar dbfs:/docs/sparkpi.jar을 수행합니다.