복붙노트

[HADOOP] 파티션으로 외부 생성

HADOOP

파티션으로 외부 생성

나는 hadoop에 데이터를 가지고 있고 파티션 (날짜와 시간)을 사용하여 외부 테이블을 만들었다. 테이블 생성은 괜찮지 만 데이터를 쿼리하려고 할 때 어떤 결과도 얻지 못합니다.

Hadoop 파일 경로 -> / test / dt = 2012-01-30 / hr = 17 / testdata *

문 작성 ->

CREATE EXTERNAL TABLE test(adate STRING,
remoteIp STRING,
url STRING,
type STRING,
ip STRING,
useragent STRING)
COMMENT 'This is the Test view table'
PARTITIONED BY(dt STRING, hr STRING)
ROW FORMAT SERDE 'com.test.serde.ValidRawDataSerDe'
STORED AS SEQUENCEFILE
LOCATION '/test';

테이블 생성 메시지 ->

OK
Time taken: 0.078 seconds

선택 쿼리를 사용할 때 결과가 표시되지 않음 ->

hive> select * from test;
OK
Time taken: 0.052 seconds
hive> select * from test where dt='2008-08-09' and hr='17';  
OK

여기에 아무것도 없다. 도와주세요.

해결법

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

    1.예. 새 파티션에 대해 Hive에 알려야합니다. 사용할 명령은 ALTER TABLE ... ADD PARTITION입니다.

    예. 새 파티션에 대해 Hive에 알려야합니다. 사용할 명령은 ALTER TABLE ... ADD PARTITION입니다.

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

    2.HIVE JDBC를 통한 외부 테이블 생성은 하이브 데이터웨어 하우스에 반영되지 않습니다.

    HIVE JDBC를 통한 외부 테이블 생성은 하이브 데이터웨어 하우스에 반영되지 않습니다.

    Hive JDBC를 통해 테이블을 생성 한 후 stmt.executeQuery ( "외부 테이블 trial5 (TOPIC STRING) 행 형식으로 구분 된 필드를 ''TEXTFILE LOCATION / 사용자 / ranjitha / trial5 '"로 저장 됨);

    이 파일에서 가져 오기를 시도하면 아무 것도 반환되지 않습니다.

    여기이 링크에서 : https://groups.google.com/a/cloudera.org/forum/?fromgroups#!topic/cdh-user/YTekdFtbelE, HIVE JDBC를 사용하여 외부 테이블을 만들 수 없다고 말합니다.

    누군가가 저를 위에 인도 할 수 있으면 그것은 정말로 도움이 될 것입니다 ..

    감사!

  3. from https://stackoverflow.com/questions/9086256/create-external-with-partition by cc-by-sa and MIT license