델타 table 기능을 삭제합니다.
Important
Delta table 기능 삭제 및 프로토콜 버전 다운그레이드에 대한 지원은 Databricks Runtime 14.1 이상에서 퍼블릭 프리뷰로 제공됩니다.
Azure Databricks는 table 기능을 삭제하기 위한 제한된 지원을 제공합니다. table 기능을 삭제하려면 다음이 발생해야 합니다.
- table 기능을 사용하는 table 속성을 사용하지 않도록 설정합니다.
- table를 지원하는 데이터 파일에서 table 기능의 모든 흔적을 Remove.
- 트랜잭션 로그에서 table 기능을 사용하는 Remove 트랜잭션 항목.
- table 프로토콜을 다운그레이드합니다.
이 기능은 Where에서 지원되며, 이전 Databricks 런타임 버전, Delta Sharing, 또는 다른 Delta Lake 읽기 또는 쓰기 클라이언트와의 호환성을 위해서만 사용해야 합니다.
Important
모든 DROP FEATURE
작업은 모든 동시 쓰기와 충돌합니다.
스트리밍 읽기는 table 메타데이터를 변경하는 커밋이 발생하면 실패합니다. 스트림을 계속하려면 다시 시작해야 합니다. 권장 방법은 구조적 스트리밍에 대한 프로덕션 고려 사항을 참조하세요.
델타 table 기능을 삭제하려면 어떻게 해야 하나요?
Delta table 기능을 수행하려면 remove 작업을 위해 ALTER TABLE <table-name> DROP FEATURE <feature-name> [TRUNCATE HISTORY]
명령을 실행합니다.
ALTER TABLE참조하세요.
Databricks Runtime 14.1 이상을 사용하고 대상 델타 table에 대한 MODIFY
권한이 있어야 합니다.
어떤 델타 table 기능을 삭제할 수 있나요?
다음의 Delta table 기능을 제거할 수 있습니다.
-
checkConstraints
. Azure Databricks의 제약 조건을 참조하세요. -
collations-preview
. Delta Lake대한데이터 정렬 지원을 참조하세요. -
columnMapping
. 이름 바꾸기 및 columns 삭제 Delta Lake column 매핑을 참조하세요. -
deletionVectors
. 삭제 벡터란?을 참조하세요. -
typeWidening-preview
. TYPE 확대를 참조하세요. -
v2Checkpoint
. 에서 리퀴드 클러스터링와 함께하는 tables의 호환성을 참조하세요.
다른 Delta table의기능을 삭제할 수 없습니다.
table 기능을 사용하여 레거시 기능 삭제
DROP FEATURE
명령에는 table 기능 읽기 및 쓰기를 지원하는 프로토콜 버전이 필요합니다. 이전 프로토콜 버전에서 columnMapping
지원되었던 델타 기능 checkConstraints
table에서 사용하도록 설정된 다른 기능에 따라 이 기능을 삭제하기 전에 프로토콜 버전을 업그레이드해야 할 수도 있습니다.
다음 명령을 사용하여 column 매핑을 삭제하고 프로토콜을 다운그레이드할 수 있는 table 판독기 및 기록기 버전을 업그레이드할 수 있습니다.
ALTER TABLE <table-name> SET TBLPROPERTIES (
'delta.minReaderVersion' = '3',
'delta.minWriterVersion' = '7'
)
델타 table 기능은 어떻게 삭제하나요?
Delta table 기능은 판독기 및 기록기 프로토콜을 나타내므로 전체 제거를 위해 트랜잭션 로그에 완전히 없어야 합니다. 기능 삭제는 두 단계로 진행되며 완료되기 전에 경과하는 데 시간이 필요합니다. 기능 제거의 세부 사항은 기능에 따라 다르지만 다음 섹션에서는 일반적인 개요를 제공합니다.
table 기능을 삭제할 준비를 하다
첫 번째 단계에서 사용자는 table 기능을 삭제할 준비를 합니다. 다음은 이 단계에서 발생하는 작업을 설명합니다.
- 사용자가 명령을 실행합니다
DROP FEATURE
. - 특히 table 기능을 활성화하는 Table 속성에는 기능을 비활성화하도록 하는 valuesset이 포함되어 있습니다.
- 삭제된 기능과 연결된 동작을 제어하는 Table 속성에는 기능이 도입되기 전에 기본 설정된 set 옵션, values가 있습니다.
- 필요에 따라 업데이트된 table 속성에 따라 데이터 및 메타데이터 파일을 다시 작성합니다.
- 이 명령은 실행을 완료하고 기능 제거를 진행하기 위해 24시간을 기다려야 한다는 오류 메시지를 반환합니다.
먼저 기능을 비활성화한 후 프로토콜 다운그레이드를 완료하기 전에 대상 table에 계속 쓸 수 있지만, 제거하려는 table 기능을 사용할 수는 없습니다.
참고 항목
table 이 상태로 두면 table 대한 작업은 table 기능을 사용하지 않지만 프로토콜은 여전히 table 기능을 지원합니다. 최종 다운그레이드 단계를 완료할 때까지 table 기능을 이해하지 못하는 델타 클라이언트에서는 table을 읽을 수 없습니다.
프로토콜 다운그레이드 및 table 기능 삭제
table 기능을 제거하려면 해당 기능에 연관된 모든 트랜잭션 기록을 remove하고, 프로토콜을 이전 버전으로 낮춰야 합니다.
- 최소 24시간이 지나면 절을
DROP FEATURE
사용하여 명령을 다시TRUNCATE HISTORY
실행합니다. - 클라이언트는 지정된 보존 임계값의 트랜잭션이 table 기능을 사용하지 않는지 확인한 다음 table 기록을 해당 임계값까지 자릅니다.
- 프로토콜이 다운그레이드되어 table 기능이 삭제됩니다.
-
table에 있는 table 기능이 레거시 프로토콜 버전으로 나타낼 수 있는 경우, Delta table에서 사용하는 나머지 모든 기능을 정확히 지원하는 가장 낮은 버전으로 table에 대한
minReaderVersion
및minWriterVersion
가 다운그레이드됩니다.
Important
실행 시 ALTER TABLE <table-name> DROP FEATURE <feature-name> TRUNCATE HISTORY
24시간 이전의 모든 트랜잭션 로그 데이터가 제거됩니다. Delta table 기능을 삭제한 후에는 table 기록 또는 시간 이동에 액세스할 수 없습니다.