2017-11-28 7 views
0

나는 구조체가있는 테이블이 있습니다왜 Hive에서 쿼리 할 때 FAILED : 잘못된 테이블 별칭 또는 열 참조 (': 가능한 열 이름 : 행)가 표시 될 수 있습니까?

line  string 

및 내용은 다음과 같습니다

product_id product_date orderattribute1 orderattribute2 orderattribute3  orderattribute4 ciiquantity ordquantity price 
1 2014-09 2 1 1 1 1 3 153 
1 2014-01 2 1 1 1 1 1 153 
1 2014-04 2 2 1 1 1 1 164 
1 2014-02 2 1 1 1 3 4 162 
1 2014-07 2 1 1 1 9 23 224 
1 2014-08 2 1 1 1 1 7 216 
1 2014-03 2 1 1 1 3 13 180 
1 2014-08 2 2 1 1 4 6 171 
1 2014-05 2 1 1 1 3 7 180 
.... 
(19000 lines omited) 

위의 모든 line의 총 가격은 내가 총을 얻으려면 ordquantity의 * 가격

입니다 month의 가격은 다음과 같습니다.

month sum 
201401 **** 
201402 **** 

위의 표에서 단지 10 행에 해당하면 201408의 월 합계는 (1 2014-08 2 1 1 1 1 7 216 및 1 2014-08 2 1 1 1)에서 파생 된 7 * 216 + 6 * 171입니다. 1 7 216).

내가 코드를 사용

create table product as select sum(ordquantity*price) as sum from text3 group by product_date; 

을 나는이 (가) 실패 가지고 :

FAILED:Invalid table alias or column reference 'product_date': (possible column names are: line) 

내가 하이브에 익숙하지 않은 오전, 나는 문제를 SOLV하는 방법을 모르겠어요.

답변

1

올바른 스키마로 테이블을 만들었습니까? 당신이 희망

SELECT product_date, SUM(ordquantity*price) FROM product 
GROUP BY product_date; 

CREATE TABLE product 
(product_id INT 
product_date STRING 
orderattribute1 INT 
orderattribute2 INT 
orderattribute3 INT 
orderattribute4 INT 
ciiquantity INT 
ordquantity INT 
price INT) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n'; 

그리고 당신의 requirment에 대한 코드를하지 않았다 글쎄 경우에, 나는 당신의 질문에 대답했다. 야!!

+0

자세한 답변을 보내 주셔서 감사합니다. –

+0

@jonesterling 환영합니다. –