복붙노트

[HADOOP] 임팔라는 모든 하이브 테이블에 액세스 할 수 없습니다.

HADOOP

임팔라는 모든 하이브 테이블에 액세스 할 수 없습니다.

하이브를 통해 hbase 데이터를 쿼리하려고합니다 (cloudera를 사용하고 있습니다). 나는 hbase를 가리키는 fiew hive 외부 테이블을 작성했지만 Cloudera의 임팔라는 모든 테이블에 대한 액세스 권한이 없습니다. 모든 하이브 외부 테이블은 메타 스토어 관리자에 표시되지만 임팔라에서 간단한 "쇼 테이블"을 수행하면 3 개의 테이블이 누락 된 것으로 나타납니다. 특권 문제일까요? metastore manager에서 3 개의 테이블이 없어져서 모두가 읽을 수 있다는 것을 알았습니다.

해결법

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

    1.임팔라에서 '메타 데이터 무효화'쿼리를 실행하면 테이블이 표시됩니다.

    임팔라에서 '메타 데이터 무효화'쿼리를 실행하면 테이블이 표시됩니다.

  2. ==============================

    2.바로 아래에? 온라인 도움말 설명 : 누락 된 테이블이 있습니까? 임팔라가 보는 테이블 / 메타 데이터 목록을 업데이트하려면 다음 쿼리 중 하나를 실행하십시오.

    바로 아래에? 온라인 도움말 설명 : 누락 된 테이블이 있습니까? 임팔라가 보는 테이블 / 메타 데이터 목록을 업데이트하려면 다음 쿼리 중 하나를 실행하십시오.

    "invalidate metadata" invalidates the entire catalog metadata. All table metadata will be reloaded on the next access.
    "invalidate metadata <table>" invalidates the metadata, load on the next access
    "refresh <table>" refreshes the metadata immediately. It is a faster, incremental refresh.
    
  3. ==============================

    3.impala의 INVALIDATE METADATA 명령은 비싸다고 문서화되어 있지만 최신 버전에서는 영향이 적은 단 하나의 테이블의 메타 데이터를 무효화 할 수 있습니다.

    impala의 INVALIDATE METADATA 명령은 비싸다고 문서화되어 있지만 최신 버전에서는 영향이 적은 단 하나의 테이블의 메타 데이터를 무효화 할 수 있습니다.

    INVALIDATE METADATA mynewtable
    

    또는 색조를 사용하는 경우 저렴한 옵션도 있습니다. 여러 개의 새 테이블을 추가 한 경우 편리 할 수 ​​있습니다.

  4. from https://stackoverflow.com/questions/20500221/impala-cant-access-all-hive-table by cc-by-sa and MIT license