2017-12-13 16 views
0

Cloudera Impala를 통해 CREATE TABLE X LIKE PARQUET 구문을 사용하여 생성 된 외부 (관리되지 않는) 테이블에서 응용 프로그램 문제를 해결하는 중입니다. 외부 테이블의 파티션을 구성하는 파일의 위치를 ​​결정하려고하지만이 작업을 수행하는 방법을 결정하는 데 어려움이 있거나 설명하는 설명서를 찾는 중입니다.임팔라 외부 테이블 위치/URI

내가 할 경우 :

LOCATION 'hdfs://nameservice1/user/hive/warehouse/databaseName' 

가 나는 경우 : I 같은 하이브 관리 위치를 볼

show create table T1; 

내가

describe formatted T1; 

를 참조하는 테이블 실제로는 외부에 있지만 관리되지 않는 위치에 대한 통찰력은 없습니다.

| Table Type: | EXTERNAL_TABLE 
    | Location:  | hdfs://nameservice1/user/hive/warehouse/databaseName/T1 

질문 : 어떻게 위치이 외부 테이블을 구성하는 실제 외부 파일의/URI는/부모 디렉토리를 결정합니까?

+0

외부 테이블을 만드는 동안 위치를 언급해야합니다. 사용자가 언급 한 위치에 impala 사용자에 대한 rwx 액세스 권한이 있어야합니다. – roh

+0

수정. 외부 테이블은 명시 적 외부 위치를 사용하여 만들어졌습니다. (테이블은 다른 응용 프로그램 팀에 의해 만들어졌지만 나로는 생성되지 않았습니다.) 외부 위치는'show create table' 명령이나'describe formatted '명령에 나열되어 있지 않습니다. – user9074332

+0

전체 쇼 만들기 테이블 결과를 붙여 넣을 수 있습니까? 그리고 테이블을 생성하는 동안 '/ 경로'라는 위치에 대해 신청 팀에 알려주십시오. 나는 그들이 당신을 다른 길로 인도 할 수있는 '존재하지 않는다면 테이블 만들기'를 사용하고 있을지도 모른다고 생각합니다. 테이블을 떨어 뜨려서 위치와 함께 다시 만들어보십시오. – roh

답변

1

당신은 임팔라 또는 하이브와 외부 테이블을 만들고 예를 들어, 당신은 HDFS 위치를 삽입해야 위치를 알고 싶을 때 :

외형 표 my_db.table_name (열 문자열) LOCATION 'hdfs_path'

을 CREATE

이 파일을 제공하지 않을 경우 아마도이 위치 파일은 comand create table을 실행하는 사용자 디렉토리 아래에 있습니다.

https://www.cloudera.com/documentation/enterprise/5-8-x/topics/impala_create_table.html

은 내가 도울 수 있도록 노력하겠습니다 :이 링크를 볼 수 있습니다 더 자세히 들어

!