다음을 통해 공유


Visual Studio Code에서 Apache Spark 작업 정의 만들기 및 관리

Synapse용 Visual Studio(VS) 코드 확장은 Fabric에서 CURD(만들기, 업데이트, 읽기 및 삭제) Spark 작업 정의 작업을 완벽하게 지원합니다. Spark 작업 정의를 만든 후에 더 많은 참조된 라이브러리를 업로드하고, Spark 작업 정의를 실행하는 요청을 제출하고, 실행 기록을 확인할 수 있습니다.

Spark 작업 정의 만들기

새 Spark 작업 정의를 만들려면:

  1. VS Code 탐색기에서 Spark 작업 정의 만들기 옵션을 선택합니다.

    Spark 작업 정의 만들기 옵션을 선택할 수 있는 위치를 보여주는 VS Code 탐색기 스크린샷

  2. 이름, 참조된 레이크하우스 및 기본 레이크하우스와 같은 초기 필수 필드를 입력합니다.

  3. 요청 프로세스와 새로 만든 Spark 작업 정의의 이름이 VS Code 탐색기의 Spark 작업 정의 루트 노드 아래에 표시됩니다. Spark 작업 정의 이름 노드 아래에 세 개의 하위 노드가 표시됩니다.

    • 파일: 기본 정의 파일 및 기타 참조된 라이브러리 목록입니다. 이 목록에서 새 파일을 업로드할 수 있습니다.
    • 레이크하우스: 이 Spark 작업 정의에서 참조하는 모든 레이크하우스 목록입니다. 기본 레이크하우스는 목록에 표시되며 상대 경로(Files/…, Tables/…)를 통해 액세스할 수 있습니다.
    • 실행: 이 Spark 작업 정의의 실행 기록 및 각 실행의 작업 상태 목록입니다.

참조된 라이브러리에 기본 정의 파일 업로드

기본 정의 파일을 업로드하거나 덮어쓰려면 기본 파일 추가 옵션을 선택합니다.

기본 파일 추가 옵션을 선택할 위치를 보여 주는 VS Code 탐색기의 스크린샷

기본 정의 파일이 참조하는 라이브러리 파일을 업로드하려면 Lib 파일 추가 옵션을 선택합니다.

라이브러리 업로드 단추를 보여 주는 스크린샷

파일을 업로드한 후 파일 업데이트 옵션을 클릭하고 새 파일을 업로드하여 파일을 재정의하거나 삭제 옵션을 통해 파일을 삭제할 수 있습니다.

파일 업데이트 및 삭제 옵션을 찾을 위치를 보여 주는 VS Code 탐색기의 스크린샷

실행 요청 제출

VS Code에서 Spark 작업 정의를 실행하는 요청을 제출하려면 다음 작업을 수행합니다.

  1. 실행하려는 Spark 작업 정의 이름 오른쪽에 있는 옵션에서 Spark 작업 실행 옵션을 선택합니다.

    Spark 작업 실행을 선택할 수 있는 위치를 보여주는 VS Code 탐색기 스크린샷

  2. 요청을 제출하면 탐색기 목록의 실행 노드에 새 Apache Spark 애플리케이션이 표시됩니다. Spark 작업 취소 옵션을 선택하여 실행 중인 작업을 취소할 수 있습니다.

    실행 노드 아래에 새 Spark 애플리케이션이 나열되고 Spark 작업 취소 옵션을 찾을 위치를 보여 주는 VS Code 탐색기의 스크린샷

Fabric 포털에서 Spark 작업 정의 열기

브라우저에서 열기 옵션을 선택하여 Fabric 포털에서 Spark 작업 정의 작성 페이지를 열 수 있습니다.

완료된 실행 옆에 있는 브라우저에서 열기를 선택하여 해당 실행의 세부 정보 모니터 페이지를 볼 수도 있습니다.

브라우저에서 열기 옵션을 선택할 위치를 보여 주는 VS Code 탐색기의 스크린샷

Spark 작업 정의 소스 코드 디버그(Python)

PySpark(Python)를 사용하여 Spark 작업 정의를 만든 경우 기본 정의 파일 및 참조된 파일의 .py 스크립트를 다운로드하고 VS Code에서 소스 스크립트를 디버그할 수 있습니다.

  1. 소스 코드를 다운로드하려면 Spark 작업 정의 오른쪽에 있는 Spark 작업 정의 디버그 옵션을 선택합니다.

    소스 다운로드 버튼을 보여 주는 스크린샷.

  2. 다운로드가 완료되면 소스 코드의 폴더가 자동으로 열립니다.

  3. 메시지가 나타나면 작성자 신뢰 옵션을 선택합니다. (이 옵션은 폴더를 처음 열 때만 나타납니다. 이 옵션을 선택하지 않으면 원본 스크립트를 디버그하거나 실행할 수 없습니다. 자세한 내용은 Visual Studio Code 작업 영역 신뢰 보안을 참조하세요.)

  4. 이전에 소스 코드를 다운로드한 경우 새 다운로드를 사용하여 로컬 버전을 덮어쓸지 확인하라는 메시지가 표시됩니다.

    참고 항목

    원본 스크립트의 루트 폴더에서 시스템은 conf라는 하위 폴더를 만듭니다. 이 폴더 내에서 lighter-config.json 파일에는 원격 실행에 필요한 일부 시스템 메타데이터가 포함됩니다. 아무것도 변경하지 마세요.

  5. sparkconf.py 파일에는 SparkConf 개체를 설정하기 위해 추가해야 하는 코드 조각이 포함되어 있습니다. 원격 디버그를 사용하도록 설정하려면 SparkConf 개체가 제대로 설정되어 있는지 확인합니다. 다음 이미지는 소스 코드의 원래 버전을 보여줍니다.

    변경 전 소스 코드를 보여 주는 코드 샘플 스크린샷.

    다음 이미지는 코드 조각을 복사하여 붙여넣은 후 업데이트된 소스 코드입니다.

    변경 후 소스 코드를 보여 주는 코드 샘플 스크린샷.

  6. 필요한 conf로 소스 코드를 업데이트한 후에는 올바른 Python 인터프리터를 선택해야 합니다. synapse-spark-kernel conda 환경에서 설치된 인터프리터를 선택해야 합니다.

Spark 작업 정의 속성 편집

명령줄 인수와 같은 Spark 작업 정의의 세부 정보 속성을 편집할 수 있습니다.

  1. SJD 구성 업데이트 옵션을 선택하여 settings.yml 파일을 엽니다. 기존 속성은 이 파일의 내용을 채웁니다.

    Spark 작업 정의에 대한 SJD 구성 업데이트 옵션을 선택할 수 있는 위치를 보여 주는 스크린샷

  2. .yml 파일을 업데이트하고 저장합니다.

  3. 오른쪽 위 모서리에서 SJD 속성 게시 옵션을 선택하여 변경 내용을 원격 작업 영역으로 다시 동기화합니다.

    Spark 작업 정의에 대한 SJD 구성 게시 옵션을 선택할 수 있는 위치를 보여 주는 스크린샷