티스토리 뷰
반응형
테이블을 생성하려고 했는데 아래와 같이 "HiveAccessControlException Permission denied" 오류가 발생하면서 CREATE 를 실패한다면, 권한관리를 위해서 ranger 를 사용하고 현재 유저는 해당 db 경로에 권한이 없기 때문에 나타나는 현상이다.
hive> create table if not exists info.t_user (
ID string comment '[K] 아이디'
,NAME string comment '이름'
,AGE int comment '나이'
,ADDRESS string comment '주소'
)
comment '회원정보'
stored as ORC
tblproperties ("orc.compress"="ZLIB");
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [myUser] does not have [CREATE] privilege on [info/t_user] (state=42000,code=40000)
Ranger 로 권한관리 중?
권한관리를 안하면 모든 사람이 모든 테이블에 접근가능한 권한을 갖게 된다. 만약, 데이터 분석가가 메인 테이블을 drop 해버리는 일이 생긴다면 아찔할텐데 presto 나 아님 별도의 BI 도구로 제공하는게 아니고, hive 를 통으로 열어줘야한다면 사실 유저별 권한관리가 안되는 문제가 있었다.
하지만, Apache Ranger 가 나오면서 데이터 보안과 엑서스 제한을 하는것이 가능해졌다. 즉, 레인저를 통해 권한관리를 하면 위와같이 권한이 없는 유저가 해당 기능을 사용하려고 할때 위와 같은 오류가 발생된다. 그럴땐 아래와 같은 Ranger 관리페이지에서 해당 유저에게 권한을 추가해줘야한다.
특히 요즘엔 HDP, CDH 하둡패키지가 CDP 로 통합되었고, 이런 하둡패키지를 쓰면 세트템(?) 처럼 깔리다보니 이런 기능을 사용하다보면 종종 겪을수 있으니 참고하도록 하자.
반응형
'데이터처리 > Hive' 카테고리의 다른 글
[Hive] kafka 의 json 데이터를 hive 에서 다루는 방법 - KafkaStorageHandler 활용법 (0) | 2023.06.16 |
---|---|
[Hive] 파일포맷(orc, parquet, avro..) 별 테이블 생성과 압축방법 (0) | 2023.05.22 |
[튜닝] 리듀서가 적게 잡혀 느린 Group By 쿼리 튜닝하기 - CBO 삽질 케이스 (0) | 2023.02.09 |
[에러] beeline 에서 오류 원인 : Unexpected end of file when reading from HS2 server (0) | 2023.02.08 |
[Hive] select * from table 에서 필드 일부만 제외하는 방법? - 블랙리스트 방식 (0) | 2022.10.25 |
댓글