Hive 전자상거래 사용자 주문 행위 특징 분석 (二)

오늘 은 hive 로 사용자 로그 시트 를 조회 합 니 다. 로그 시트 의 형식 입 니 다.
user_id,item_id,cat_id,merchant_id,brand_id,month,day,action,age_range,gender,province
328862,323294,833,2882,2661,8,29,0,0,1,   
328862,844400,1271,2882,2661,8,29,0,1,1,  
328862,575153,1271,2882,2661,8,29,0,2,1,  
328862,996875,1271,2882,2661,8,29,0,1,1,   
328862,1086186,1271,1253,1049,8,29,0,0,2,  
328862,623866,1271,2882,2661,8,29,0,0,2,   
328862,542871,1467,2882,2661,8,29,0,5,2,  
328862,536347,1095,883,1647,8,29,0,7,1,  
328862,364513,1271,2882,2661,8,29,0,1,2,  
328862,575153,1271,2882,2661,8,29,0,0,0,  

로그 데이터 및 메타 데이터 업로드, 본인 의 이 블 로그 참조:http://blog.csdn.net/cafebar123/article/details/74371463 다음은 로그 기록 행위 조회: 데이터베이스 이름 만 들 기:
create database hive;

테이블 이름 만 들 기:
CREATE TABLE hive.user_log(user_id INT,item_id INT,cat_id INT,merchant_id INT,brand_id INT,month STRING,day STRING,action INT,age_range INT,gender INT,province STRING) COMMENT 'Welcome to xmu dblab,Now create hive.user_log!' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION '/user/hive/user_log/user_log';

(1) 10 개의 거래 기록 조회:
select * from user_log limit 10;

(2) 복잡 한 열 이름 에 대해 서 는 별명 을 사용 할 수 있다.
select merchant_id as meri from user_log;

(3) 내장 문 사용
select ul.meri from (select merchant_id as meri from user_log) as ul limit 10;

(4) 몇 줄 의 데이터 가 있 는 지 통계 한다.
select count(*) from user_log;

(5) 중복 되 지 않 는 통계
select count(distinct user_id) from user_log;

(6) 그룹 by 를 사용 하여 중복 되 지 않 는 데 이 터 를 조회 합 니 다.
select count(*) from (select user_id,item_id,cat_id,merchant_id,brand_id,action on from user_log group by user_id,item_id,cat_id,merchant_id,brand_id,action having count(*)=1)a;

(7) 어느 날 몇 명 이 제품 을 구 매 했 는 지 조회
select count(distinct user_id) from user_log where action='2' and month='11' and day='11';

action = '2' 는 지불 을 표시 하고 action = '1' 표 는 카 트 에 가입 합 니 다.
(8) 어느 날 남녀 구 매 비율 조회
select count(*) from user_log where gender=0 and month='11' and day='11';
select count(*) from user_log where gender=1 and month='11' and day='11';

(9) 어느 날 어떤 상품 의 구 매 사용 자 를 조회 하고 한 사용자 가 2 회 이상 구 매
select user_id from user_log where action='2' group by user_id having count(action='2')>1;

(10) 특정한 브랜드 상품 의 조회 횟수 조회
select brand_id,count(action) from user_log where action='2' group by brand_id;

계속
참고:http://dblab.xmu.edu.cn/blog/1363-2/

좋은 웹페이지 즐겨찾기