Databricks Notebook 실행 컨텍스트
클러스터에 Notebook을 연결하면 Azure Databricks가 실행 컨텍스트를 만듭니다. 실행 컨텍스트에는 지원되는 각 프로그래밍 언어(Python, R, Scala, SQL)에 대한 REPL 환경의 상태가 포함됩니다. Notebook에서 셀을 실행하면 명령이 적절한 언어 REPL 환경에 전달되어 실행됩니다.
명령 실행 API를 사용하여 실행 컨텍스트를 만들고 실행 컨텍스트에서 실행할 명령을 보낼 수도 있습니다. 마찬가지로 명령은 언어 REPL 환경으로 전달되어 실행됩니다.
클러스터에는 최대 실행 컨텍스트 수(145개)가 있습니다. 실행 컨텍스트 수가 이 임계값에 도달하면 Notebook을 클러스터에 연결하거나 새 실행 컨텍스트를 만들 수 없습니다.
유휴 실행 컨텍스트
마지막으로 완료된 실행이 설정된 유휴 임계값을 초과하여 발생한 경우 실행 컨텍스트는 유휴로 간주됩니다. 마지막으로 완료된 실행은 Notebook에서 명령 실행을 완료한 마지막 시간입니다. 유휴 임계값은 마지막으로 완료된 실행과 Notebook을 자동으로 분리하려는 시도 간에 경과해야 하는 시간입니다.
클러스터가 최대 컨텍스트 제한에 도달하면 Azure Databricks에서 필요에 따라 유휴 실행 컨텍스트(가장 최근에 사용한 컨텍스트부터 시작)를 제거합니다. 컨텍스트가 제거된 경우에도 해당 컨텍스트를 사용하는 Notebook은 여전히 클러스터에 연결되어 클러스터의 Notebook 목록에 표시됩니다. Notebook 스트리밍이 활발하게 실행되는 것으로 간주되어 실행이 중지될 때까지 해당 컨텍스트가 제거되지 않습니다. 유휴 컨텍스트가 제거되면 UI에서 유휴 상태로 인해 이 컨텍스트를 사용하는 Notebook이 분리되었다는 메시지를 표시합니다.
실행 컨텍스트 수가 최대이고 유휴 컨텍스트가 없는 클러스터에 Notebook을 연결하려고 하면(또는 자동 제거가 사용하지 않도록 설정된 경우) UI에서 현재 최대 실행 컨텍스트 임계값에 도달했으며 Notebook이 분리된 상태로 유지된다는 메시지를 표시합니다.
프로세스를 포크하는 경우 해당 프로세스를 포크한 요청의 실행이 반환되면 유휴 실행 컨텍스트가 여전히 유휴 상태로 간주됩니다. Spark에서 별도의 프로세스를 포크하지 않는 것이 좋습니다.
컨텍스트 자동 제거 구성
자동 제거는 기본적으로 사용하도록 설정됩니다. 자동 제거를 클러스터에 사용하지 않도록 설정하려면 Spark 속성spark.databricks.chauffeur.enableIdleContextTracking false
을 설정합니다.
Spark 및 Databricks Runtime 버전 확인
Notebook이 연결된 클러스터의 Spark 버전을 확인하려면 다음을 실행합니다.
spark.version
Notebook이 연결된 클러스터의 Databricks Runtime 버전을 확인하려면 다음을 실행합니다.
spark.conf.get("spark.databricks.clusterUsageTags.sparkVersion")
참고 항목
이 sparkVersion
태그와 클러스터 API 및 spark_version
작업 API의 엔드포인트에 필요한 속성은 모두 Spark 버전이 아닌 Databricks 런타임 버전을 참조합니다.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기