복붙노트

[HADOOP] hdfs의 하이브 파일은 관리되지 않는 (외부가 아닌) 테이블을 삭제할 때 삭제되지 않습니다.

HADOOP

hdfs의 하이브 파일은 관리되지 않는 (외부가 아닌) 테이블을 삭제할 때 삭제되지 않습니다.

Hive 대화식 명령 줄에서 관리되는 테이블을 삭제하면 /user/hive/warehouse/.db의 hdfs에 만들어진 기본 파일이 여전히 존재합니다. 이로 인해 동일한 이름의 테이블을 다시 만들 때 문제가 발생합니다.

INSERT INTO TABLE 

내 초기에는 이러한 파티션 (내 경우에는 dt 및 hr 파티션)에로드 된 데이터가 여전히 포함되어 있기 때문입니다. 내가 사용하는 경우에만

INSERT OVERWRITE TABLE

마지막으로 데이터를 올바르게로드하지만 ETL에서 INSERT INTO TABLE을 사용해야합니다.

어떤 아이디어? 나는 단지 같은 테이블을 다른 이름으로 만들 준비가되었거나 hdfs에있는 내용을 삭제하지만, 그것이 메타 스토어 또는 다른 것을 망가뜨릴 지 걱정된다. 마지막으로, 나는 그것이 관리 된 테이블이며 외부가 아니라는 점에 긍정적입니다.

해결법

  1. ==============================

    1.Hive가 테이블 메타 데이터를 삭제하지만 자동으로 파일을 휴지통으로 이동하지 못하는 경우가 있습니다. /user//.Trash에 대한 권한을 확인 했습니까? ETL 사용자가이 폴더에 대해 적절한 권한을 가지고 있는지 확인하십시오.

    Hive가 테이블 메타 데이터를 삭제하지만 자동으로 파일을 휴지통으로 이동하지 못하는 경우가 있습니다. /user//.Trash에 대한 권한을 확인 했습니까? ETL 사용자가이 폴더에 대해 적절한 권한을 가지고 있는지 확인하십시오.

  2. from https://stackoverflow.com/questions/20114597/hive-files-on-hdfs-not-being-deleted-when-managed-not-external-table-is-droppe by cc-by-sa and MIT license