0
저는 확실히 초보자입니다. 쉬운 대답이있을 것입니다. 내 코드는 다음과 같습니다하이브 테이블에서로드 된 "a, b, c"형식의 단일 열을 어떻게 그룹화 할 수 있습니까?
는B= GROUP A BY location;
C= FOREACH B GENERATE
group as location,
SUM(rating) as RatingSum,
AVG(rating) as RatingAverage,
MIN(rating) as RatingMin,
MAX(rating) as RatingMax,
COUNT(rating) as RecNum;
는 C가 작동하지 않습니다, 아마이 내가 뭘하는지입니다 city,state,country
:
이A = load 'table1' USING org.apache.hive.hcatalog.pig.HCatLoader() as (userid1: chararray, location: chararray, age: int);
하이브에 위치 열은 다음과 같습니다 이것은 B의 출력이므로 다음과 같습니다.
(, ,,{(56072,, ,,,56072,1885171218,3),(104462,, ,,,104462,8486054060,7),(46927,, ,,47,46927,0749300523,0),(46927,, ,,47,46927,0749300515,0),(64139,, ,,,64139,8422665662,0),(112345,, ,,39,112345,0375727345,7),(151458,, ,,,151458,1551667959,0),(64139,, ,,,64139,8422676095,6)})
(ny, ,,{(175362,ny, ,,,175362,0446604844,10)})
(, usa,,{(223496,, usa,,,223496,0714838500,7)})
(gap, ,,{(211944,gap, ,,42,211944,044023722X,9),(211944,gap, ,,42,211944,1577486445,8),(211944,gap, ,,42,211944,0821767089,9),(211944,gap, ,,42,211944,0804106304,0),(211944,gap, ,,42,211944,0743412621,9),(211944,gap, ,,42,211944,0505521474,7),(211944,gap, ,,42,211944,0440236673,9),(211944,gap, ,,42,211944,0440225701,0),(211944,gap, ,,42,211944,044022165X,0),(211944,gap, ,,42,211944,0440214041,0),(211944,gap, ,,42,211944,0440213525,0),(211944,gap, ,,42,211944,044020111X,0),(211944,gap, ,,42,211944,0425151867,0),(211944,gap, ,,42,211944,0385472951,8),(211944,gap, ,,42,211944,0373832257,7),(211944,gap, ,,42,211944,0373471521,5),(211944,gap, ,,42,211944,0373291574,6),(211944,gap, ,,42,211944,0373291566,7),(211944,gap, ,,42,211944,0373201532,7),(211944,gap, ,,42,211944,0373151861,8),(211944,gap, ,,42,211944,158660242X,0)})
(n/a, ,,{(169489,n/a, ,,,169489,0618150730,6)})
로드 스테미넌트를 변경해야합니다. 그룹화하기 전에 단계를 추가하거나 두 가지 모두를 잃어 버렸습니다. 도와주세요. 수집 할 수있는 것처럼 원본 하이브 테이블은 세미콜론을 구분 기호로 사용하여 CSV로 만들어졌습니다. 도움이된다면, 여기에 내가 하이브 테이블을 만드는 데 사용되는 코드입니다 :
create table table1 (UserID string, Location string, Age INT)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES ("separatorChar" = '\u0059') STORED AS TEXTFILE
tblproperties ("skip.header.line.count"="1");
등급 열의 출처는 어디입니까? 로드에 3 개의 필드가 있고 그 중 어느 것도 등급이 없습니다! –