복붙노트

[HADOOP] 키 PRODUCT_ID에 의해 그룹에서 하이브 명령 오류 발현되지 않음

HADOOP

키 PRODUCT_ID에 의해 그룹에서 하이브 명령 오류 발현되지 않음

나는 다음과 같은 형식으로 작성된 HDFS의 테이블 A를

user  product
U1       101
U1       102
U1       103
U2       101
U2       104
U3       102

...............

describe A;
>> user   string
   product int

이제 동일한 사용자에 의한 제품을 함께 그룹화되어, 어떻게 하이브 명령을 작성해야합니다 그래서 집계 사용자에게 싶다면?

select user, product from A group by user;

error: line 1:14 Expression Not In Group By Key product

해결법

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

    1.당신은 사용자 이름으로 제품을 집계하기위한 하이브에 collect_set (골) 기능을 사용할 수 있습니다.

    당신은 사용자 이름으로 제품을 집계하기위한 하이브에 collect_set (골) 기능을 사용할 수 있습니다.

    명령 아래 사용

    select user,collect_set(product) from A group by user;
    

    당신은 아래와 같은 출력을 얻을 것이다 :

    U1      [102,103,101]
    U2      [101,104]
    U3      [102]
    

    ) (collect_set에 대한 하이브 문서를 참조하십시오 자세한 내용은.

  2. from https://stackoverflow.com/questions/22955050/hive-command-error-expression-not-in-group-by-key-product-id by cc-by-sa and MIT license