728x90

1. INTERNAL(MANAGED) TABLE

 1) Hive의 command를 통해서만 data, data's properties, data layout을 변경할 수 있다.
 2) Entity(table)을 변경하면, data도 변경된다.
 3) 기본 경로 : /user/hive/warehouse/databasename.db/tablename/
 4) 테이블이나 파티션이 drop되면, 테이블이나 파티션과 관련된 data, metadata가 삭제된다.
 (PURGE옵션을 추가하지 않으면 삭제 시 휴지통으로 이동된다.)
 5) ARCHIVE, UNARCHIVE, TRUNCATE, MERGE, CONCATENATE 를 사용할 수 있다.
 6) 사용(쓰임) :
  - 테이블의 lifecycle 관리할 때
  - 임시 테이블을 생성해야할 때

2. EXTERNAL TABLE

 1) External table은 외부 파일들의 metadata, schema를 설명한다.
 2) ASV(Azure Storage Volumes) 또는 원격 HDFS 위치에 저장된 data를 External table을 통해 접근할 수 있다.
 3) 테이블을 DROP하면, metadata만 삭제된다.
 4) 사용(쓰임) : 
  - 파일들이 이미 존재 또는 원격 저장소 위치에 존재할 때
  - 테이블이 DROP되도 파일들이 남아있어야 할 때

 


참고) https://cwiki.apache.org/confluence/display/Hive/Managed+vs.+External+Tables

728x90

'하둡 에코 시스템 > Apache Hive' 카테고리의 다른 글

[ Hive ] HiveQL Data Types  (0) 2022.04.14

+ Recent posts