복붙노트

[HADOOP] 여기서 절 어떻게 다른과 하이브에 덮어 쓰기 표를 삽입?

HADOOP

여기서 절 어떻게 다른과 하이브에 덮어 쓰기 표를 삽입?

내가 하이브로 HBase를에서 .tsv 형식의 파일을 읽을 수. 뉴스, 사회 및 모든 :이 파일은 3 내부의 열이있는 columnfamily을 가지고 있습니다. 목적은 열 뉴스, 사회, 모두가 HBase와의 테이블에 이러한 열을 저장하는 것입니다.

CREATE EXTERNAL TABLE IF NOT EXISTS topwords_logs (key String,  
columnfamily  String , wort String , col String, occurance int)ROW FORMAT 
DELIMITED FIELDS TERMINATED BY '\t'STORED AS TEXTFILE LOCATION '/home
/hfu/Testdaten';

load data local inpath '/home/hfu/Testdaten/part-r-00000.tsv' into table topwords_logs;

CREATE TABLE newtopwords (columnall int,  columnsocial int , columnnews int) PARTITIONED BY(wort STRING)  STORED AS SEQUENCEFILE;

여기에서 난 HBase와 데이터를 포함하는 외장 테이블을 생성. 또한에 나는 3 열이있는 테이블을 만들었습니다.

무엇 내가 지금까지 시도하는 것은 이것이다 :

insert overwrite table newtopwords partition(wort)
select occurance ,'1', '1' , wort from topwords_log;

이 코드는 잘 작동하지만 난 각 열의 경우 추가 조항이있다. 어떻게 이런 데이터를 삽입 할 수 있습니까?

insert overwrite table newtopwords partition(wort)
values(columnall,(select occurance from topwords_logs where col =' all')),(columnnews,( select occurance from topwords_logs where col =' news')) ,(columnsocial,( select occurance from topwords_logs where col =' social')),(wort,(select wort from topwords_log));

이 코드 밤은 가공 -> NoViableAltException.

그들이 어디에 절없이 데이터를 삽입 할 경우 모든 예에 난 그냥 코드를 참조하십시오. 어떻게 Where 절에 데이터를 삽입 할 수 있습니다?

해결법

    from https://stackoverflow.com/questions/33346060/how-insert-overwrite-table-in-hive-with-diffrent-where-clauses by cc-by-sa and MIT license