DROP 문

DROP 문 (DROP Statements)

Hive 다이얼렉트에서는 현재 다음 DROP 문을 지원해요. 데이터베이스, 테이블, 뷰, 매크로, 함수를 삭제하는 문을 제공해요.

출처: 문서

본문

Hive 다이얼렉트에서 현재 지원되는 DROP 문은 다음과 같아요:

  • DROP DATABASE
  • DROP TABLE
  • DROP VIEW
  • DROP MARCO
  • DROP FUNCTION

DROP DATABASE

설명 (Description)

DROP DATABASE 문은 데이터베이스뿐 아니라 데이터베이스와 연결된 테이블/디렉터리도 삭제하는 데 사용돼요.

구문 (Syntax)

DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];

SCHEMA와 DATABASE는 같은 의미로 서로 바꿔 쓸 수 있어요. 기본 동작은 RESTRICT로, 데이터베이스가 비어 있지 않으면 DROP DATABASE가 실패해요. 데이터베이스의 테이블도 함께 삭제하려면 DROP DATABASE ... CASCADE를 사용해요.

IF EXISTS가 지정되지 않았거나 구성 변수 hive.exec.drop.ignorenonexistent가 true로 설정되지 않았다면, 데이터베이스가 존재하지 않을 때 DROP은 오류를 반환해요.

예제 (Examples)

DROP DATABASE db1 CASCADE;

DROP TABLE

설명 (Description)

DROP TABLE 문은 이 테이블의 메타데이터와 데이터를 제거해요. Trash가 구성되어 있으면 데이터는 실제로 .Trash/Current 디렉터리로 이동돼요. 메타데이터는 완전히 손실돼요. EXTERNAL 테이블을 삭제할 때 테이블의 데이터는 파일 시스템에서 삭제되지 않아요.

구문 (Syntax)

DROP TABLE [IF EXISTS] table_name;

IF EXISTS가 지정되지 않았거나 hive.exec.drop.ignorenonexistent가 true가 아니라면 테이블이 존재하지 않을 때 DROP은 오류를 반환해요.

예제 (Examples)

DROP TABLE IF EXISTS t1;

DROP VIEW

설명 (Description)

DROP VIEW 문은 지정된 뷰의 메타데이터를 제거하는 데 사용돼요.

구문 (Syntax)

DROP VIEW [IF EXISTS] [db_name.]view_name;

IF EXISTS가 지정되지 않았거나 hive.exec.drop.ignorenonexistent가 true가 아니라면 뷰가 존재하지 않을 때 DROP은 오류를 반환해요.

예제 (Examples)

DROP VIEW IF EXISTS v1;

DROP MARCO

설명 (Description)

DROP MARCO 문은 기존 MARCO를 삭제하는 데 사용돼요. MARCO 생성 방법은 CREATE MARCO를 참고해요.

구문 (Syntax)

DROP TEMPORARY MACRO [IF EXISTS] macro_name;

IF EXISTS가 지정되지 않았다면 매크로가 존재하지 않을 때 DROP은 오류를 반환해요.

예제 (Examples)

DROP TEMPORARY MACRO IF EXISTS m1;

DROP FUNCTION

설명 (Description)

DROP FUNCTION 문은 기존 FUNCTION을 삭제하는 데 사용돼요.

구문 (Syntax)

--- Drop temporary function
DROP TEMPORARY FUNCTION [IF EXISTS] function_name;

--- Drop permanent function
DROP FUNCTION [IF EXISTS] function_name;

IF EXISTS가 지정되지 않았거나 hive.exec.drop.ignorenonexistent가 true가 아니라면 함수가 존재하지 않을 때 DROP은 오류를 반환해요.

예제 (Examples)

DROP FUNCTION IF EXISTS f1;

더 알아보기 (Learn more)