다음을 통해 공유


서버리스 컴퓨팅 릴리스 정보

이 문서에서는 Notebook 및 작업에 대한 서버리스 컴퓨팅에서 현재 사용 가능하고 예정된 기능과 동작에 대해 설명합니다.

서버리스 컴퓨팅에 대한 자세한 내용은 서버리스 컴퓨팅에 연결을 참조하세요.

Azure Databricks는 서버리스 컴퓨팅에 대한 업데이트를 주기적으로 릴리스하여 서버리스 컴퓨팅 런타임을 자동으로 업그레이드하여 플랫폼에 대한 향상된 기능 및 업그레이드를 지원합니다. 모든 사용자는 짧은 기간 동안 롤아웃된 동일한 업데이트를 get.

서버리스 환경 버전

Notebook 및 작업에 대한 Databricks 서버리스 컴퓨팅은 Spark Connect 기반 아키텍처를 특징으로 하며, 애플리케이션에 영향을 주지 않고 독립적인 엔진 업그레이드를 지원합니다. 애플리케이션 호환성을 보장하기 위해 서버리스 워크로드는 최신 서버 버전과 호환되는 환경 버전 또는 클라이언트라고 하는 버전이 지정된 API를 사용합니다.

최신 환경 버전은 새 버전이 릴리스될 때까지 업데이트를 계속 받습니다. 사용자는 다음 지원되는 환경 버전 중 하나에서 select할 수 있습니다.

릴리스 정보

이 섹션에는 서버리스 컴퓨팅에 대한 릴리스 정보가 포함되어 있습니다. 릴리스 정보는 연도 및 주별로 구성됩니다. 서버리스 컴퓨팅은 항상 여기에 나열된 가장 최근에 릴리스된 버전을 사용하여 실행됩니다.

버전 15.4

2024년 10월 28일

이 서버리스 컴퓨팅 릴리스는 Databricks Runtime 15.4에 대략 해당합니다.

새로운 기능

  • UTF-8 유효성 검사 함수: 이 릴리스에서는 UTF-8 문자열의 유효성을 검사하기 위한 다음 함수를 소개합니다.
    • is_valid_utf8은 문자열이 유효한 UTF-8 문자열인지 확인했습니다.
    • make_valid_utf8 대체 문자를 사용하여 잠재적으로 잘못된 UTF-8 문자열을 유효한 UTF-8 문자열로 변환합니다.
    • validate_utf8은 입력이 유효한 UTF-8 문자열이 아닌 경우 오류가 발생시킵니다.
    • try_validate_utf8은 입력이 유효한 UTF-8 문자열이 아닌 경우 NULL(을)를 반환합니다.
  • ALTER TABLE사용하여 UniForm Iceberg 사용: 이제 데이터 파일을 다시 작성하지 않고 기존 tables UniForm Iceberg를 사용하도록 설정할 수 있습니다. 기존 에 대해 Iceberg 읽기를 사용하도록 설정하세요.
  • try_url_decode 함수: 이 릴리스에서는 URL로 인코딩된 문자열을 디코딩하는 try_url_decode 함수를 소개합니다. 문자열이 올바른 형식이 아닌 경우 함수는 오류를 발생시키는 대신 NULL(을)를 반환합니다.
  • 필요에 따라 최적화 프로그램에서 강제되지 않은 외래 키 제약 조건을 사용하도록 허용합니다. 쿼리 성능을 향상시키려면 CREATE 또는 ALTER 제약 조건에 키워드를 지정할 수 있습니다.
  • 선택적 덮어쓰기를 위해 병렬화된 작업이 실행되는 : replaceWhere 사용하여 선택적 덮어쓰기를 이제 데이터를 삭제하고 새 데이터를 병렬로 insert 작업을 실행하여 쿼리 성능 및 클러스터 사용률을 개선합니다.
  • 선택적 덮어쓰기를 사용하여 변경 데이터 피드의 성능 향상: 변경 데이터 피드가 있는 tablesreplaceWhere 사용하여 선택적 덮어쓰기를 삽입된 데이터에 대한 별도의 변경 데이터 파일을 더 이상 쓰지 않습니다. 이러한 작업은 기본 Parquet 데이터 파일에 있는 숨겨진 _change_typecolumn 사용하여 쓰기 증폭 없이 변경 내용을 기록합니다.
  • 명령에 대한 COPY INTO 쿼리 대기 시간이 향상되었습니다. 이 릴리스에는 명령에 대한 쿼리 대기 시간을 개선하는 변경 내용이 COPY INTO 포함되어 있습니다. 이러한 개선은 RocksDB 상태 저장소에서 상태를 비동기식으로 로드하여 구현됩니다. 이 변경으로 이미 수집된 파일이 많은 쿼리와 같이 상태가 큰 쿼리의 시작 시간이 향상됩니다.
  • check 제약 조건 table 기능 삭제 지원: 이제 ALTER TABLE table_name DROP FEATURE checkConstraints사용하여 델타 tablecheckConstraintstable 기능을 삭제할 수 있습니다. CHECK 제약 조건 사용 안 함을 참조 하세요.

동작 변경

  • views대한 Schema 바인딩 변경: 뷰의 기본 쿼리에 있는 데이터 형식이 뷰가 처음 생성될 때 사용된 형식과 달라질 경우, 안전한 캐스트가 수행되지 않는 한 Databricks는 더 이상 뷰에 대한 참조에 대해 오류를 생성하지 않습니다.

    대신, 보기 는 일반 캐스팅 규칙을 사용하여 가능한 where 보정을 수행합니다. 이 변경을 통해 Databricks는 tableschema 변경 내용을 더 쉽게 허용할 수 있습니다.

  • 외부 부울 논리에 대해 ! 문서화되지 않은 NOT 구문 허용 안 함: Databricks는 더 이상 부울 논리 외부의 ! 동의어 NOT 로 사용하는 것을 허용하지 않습니다. 이렇게 변경하면 혼동이 줄어들고 SQL 표준과 일치하며 SQL의 이식성이 높아집니다. 예시:

    CREATE ... IF ! EXISTS, IS ! NULL, ! NULLcolumn 또는 필드 속성, ! IN! BETWEEN 다음으로 바꿔야 합니다.

    CREATE ... IF NOT EXISTS, IS NOT NULL, NOT NULLcolumn 또는 필드 속성, NOT INNOT BETWEEN.

    부울 접두사 연산자! (예: !is_mgr 또는!(true AND false))는 이 변경의 영향을 받지 않습니다.

  • views에서 column 정의 구문의 문서화되지 않은 부분과 처리되지 않은 부분을 허용하지 않습니다. Databricks는 이름이 지정된 columns 및 column 주석이 있는 CREATE VIEW을(를) 지원합니다.

    column 형식, NOT NULL 제약 조건 또는 DEFAULT 사양은 having 효과 없이 구문에서 허용되었습니다. Databricks는 이 구문 허용을 remove 처리할 것입니다. 이렇게 하면 혼동을 줄이고 SQL 표준에 맞게 조정되며 향후 향상된 기능을 사용할 수 있습니다.

  • Spark 및 Photon에서 Base64 디코딩에 대한 일관된 오류 처리: 이 릴리스에서는 Photon이 이러한 오류의 Spark 처리와 일치하도록 Base64 디코딩 오류를 처리하는 방법을 변경합니다. 이러한 변경 전에 Photon 및 Spark 코드 생성 경로가 구문 분석 예외를 발생시키는 데 실패한 반면 Spark 해석 실행은 올바르게 발생하거나 IllegalArgumentException발생합니다ConversionInvalidInputError. 이 update은 Photon이 Base64 디코딩 오류 시에 Spark와 동일한 예외를 일관되게 발생시켜, 오류 처리가 보다 예측 가능하고 안정적이도록 보장합니다.

  • 잘못된 columnCHECKconstraint 추가하면 UNRESOLVED_COLUMN 반환됩니다. WITH_SUGGESTION 오류 클래스: Databricks Runtime 15.3 이상에서 더 유용한 오류 메시지를 제공하려면 잘못된 column 이름을 참조하는 CHECKconstraint 포함하는 ALTER TABLE ADD CONSTRAINT 문이 UNRESOLVED_COLUMN 반환합니다. WITH_SUGGESTION 오류 클래스입니다. 이전에는 INTERNAL_ERROR(을)를 반환했습니다.

JDK가 JDK 8에서 JDK 17로 업그레이드됨

2024년 8월 15일

Notebook 및 워크플로에 대한 서버리스 컴퓨팅은 서버 쪽의 JDK(Java Development Kit) 8에서 JDK 17로 마이그레이션되었습니다. 이 업그레이드에는 다음과 같은 동작 변경 내용이 포함됩니다.

버그 수정

중첩된 문자 그룹에서 부정을 사용하여 regex 패턴의 올바른 구문 분석: 이 업그레이드를 통해 Azure Databricks는 이제 중첩된 문자 그룹화에서 부정을 사용하여 regex 패턴의 올바른 구문 분석을 지원합니다. 예를 들어 [^[abc]] "'abc' 중 하나가 아닌 문자"로 구문 분석됩니다.

또한 Photon 동작이 중첩된 문자 클래스의 Spark와 일치하지 않았습니다. 중첩된 문자 클래스를 포함하는 Regex 패턴은 더 이상 Photon을 사용하지 않고 대신 Spark를 사용합니다. 중첩 문자 클래스는 대괄호 안에 대괄호를 포함하는 패턴입니다(예: [[a-c][1-3]].).

버전 15.1

2024년 7월 23일

이 서버리스 컴퓨팅 릴리스는 Databricks Runtime 15.1에 대략 해당합니다.

새로운 기능

WHERE별(*) 구문 지원 : 이제 WHERE 절의 star(*) 구문을 사용하여 SELECTlist모든 columns 참조할 수 있습니다.

예들 들어 SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*)입니다.

변경

JSON 구문 분석의 오류 복구 개선: 이제 JSON 경로 식에 from_json() 사용되는 JSON 파서가 잘못된 구문에서 더 빠르게 복구되어 데이터 손실이 줄어듭니다.

구조체 필드, 배열 값, 지도 키 또는 지도 값에서 형식이 잘못된 JSON 구문이 발견되면 이제 JSON 파서는 읽을 수 없는 필드, 키 또는 요소에 대해서만 반환 NULL 됩니다. 후속 필드, 키 또는 요소가 제대로 구문 분석됩니다. 이 변경 전에 JSON 파서는 배열, 구조체 또는 맵 구문 분석을 중단했고 나머지 콘텐츠에 대해 반환 NULL 되었습니다.

버전 14.3

2024년 4월 15일

초기 서버리스 컴퓨팅 버전입니다. 이 버전은 Databricks Runtime 14.3 대략적으로 해당하며 일부 비 서버리스 및 레거시 기능에 대한 지원을 remove 일부 수정 사항이 있습니다.

지원되는 Spark 구성 parameters

서버리스 컴퓨팅에서 Spark의 구성을 자동화하기 위해 Azure Databricks는 대부분의 Spark 구성을 수동으로 설정하는 지원을 제거했습니다. 다음 Spark 구성 parameters만 수동으로 set 수 있습니다.

  • spark.sql.legacy.timeParserPolicy(기본값은 )입니다.CORRECTED
  • spark.sql.session.timeZone(기본값은 )입니다.Etc/UTC
  • spark.sql.shuffle.partitions(기본값은 )입니다.auto
  • spark.sql.ansi.enabled(기본값은 )입니다.true

이 list에 없는 Spark 구성을 set하는 경우, 서버리스 컴퓨팅에서 작업이 실행되지 않습니다.

Spark 속성 구성에 대한 자세한 내용은 Azure Databricks Spark 구성 속성을 참조하세요.

input_file 함수는 더 이상 사용되지 않습니다.

input_file_name(), input_file_block_length()input_file_block_start() 함수는 더 이상 사용되지 않습니다. 이러한 함수를 사용하는 것은 매우 권장되지 않습니다.

대신 파일 메타데이터 column 사용하여 파일 메타데이터 정보를 검색합니다.

동작 변경

서버리스 컴퓨팅 버전 2024.15에는 다음과 같은 동작 변경 내용이 포함됩니다.

  • unhex(hexStr) 버그 수정: 함수를 unhex(hexStr) 사용하는 경우 hexStr은 항상 전체 바이트에 왼쪽으로 패딩됩니다. 이전에는 unhex 함수가 처음 반바이트 바이트를 무시했습니다. 예: unhex('ABC') 이제 .x'0ABC'x'BC'
  • 자동 생성된 column 별칭은 이제 안정적입니다. 사용자가 지정한 column 별칭 없이 식의 결과를 참조하면 이 자동 생성된 별칭이 안정됩니다. 새 알고리즘으로 인해 materialized views와 같은 기능에서 사용되던 이전 자동 생성된 이름이 변경될 수 있습니다.
  • CHAR 형식 필드가 있는 Table 검사는 이제 항상 패딩된 상태로 유지됩니다. Delta tables, 특정 JDBC tables및 외부 데이터 원본은 CHAR 데이터를 패딩되지 않은 형식으로 저장합니다. 읽을 때 Azure Databricks는 이제 올바른 의미 체계를 보장하기 위해 선언된 길이에 공백이 있는 데이터를 패딩합니다.
  • BIGINT/DECIMAL에서 TIMESTAMP로의 캐스트는 오버플로된 values대한 예외를 throw합니다. Azure Databricks를 사용하면 값을 Unix epoch의 초 수로 처리하여 BIGINT 및 DECIMAL에서 TIMESTAMP로 캐스팅할 수 있습니다. 이전에는 Azure Databricks가 오버플로된 values을 반환했지만, 이제 오버플로가 발생할 경우 예외를 발생시킵니다. 예외 대신 NULL을 반환하는 데 사용합니다 try_cast .
  • PySpark UDF 실행이 단일 사용자 컴퓨팅 에서 UDF 실행의 정확한 동작과 일치하도록 개선되었습니다. 다음과 같은 변경 사항이 적용되었습니다.
    • 문자열 반환 형식의 UDF는 더 이상 values를 자동으로 문자열로 변환하지 않습니다. 이전에는 반환 형식이 있는 UDF가 반환된 값의 str 실제 데이터 형식에 관계없이 결과에 래퍼를 적용 str(..) 했습니다.
    • timestamp 반환 형식이 있는 UDF는 더 이상 타임스탬프에 timezone 변환을 암시적으로 적용하지 않습니다.