tellusboutyourself
하이브(Hive) 쿼리테스트 본문
위 게시물을 기반으로 쿼리테스트 진행.
쿼리테스트 1
[ 꼰대일 확률 높은 10명 찾기 ]
SELECT *
FROM hadoop_edu.employee ORDER BY birthday ASC
LIMIT 10;
생년월일 기준으로 오름차순 배열하여 10까지만 추출한다.
쿼리테스트 2
[ 1990년 1월 입사자 10명 찾기 ]
SELECT *
FROM hadoop_edu.employee
WHERE work_day >= '1990-01-01' AND work_day <= '1990-01-31'LIMIT 10;
work_day 변수에 범위를 지정해 10까지만 추출한다.
쿼리테스트 3
[ 성별 평균 연봉 구하기 ]
USE hadoop_edu;
SELECT e.gender, AVG(s.salary) AS avg_salary
FROM employee AS e JOIN salary AS s ON (e.employee_id == s.employee_id) GROUP BY e.gender;
쿼리테스트 4,5
[ 연봉 top100 리스트 추출 후 테이블로 저장 ]
SET hive.exec.dynamic.partition.mode=nonstrict;
CREATE EXTERNAL TABLE IF NOT EXISTS hadoop_edu.top_100_salary_employee
(
employee_id INT,
first_name STRING,
family_name STRING,
avg_salary DOUBLE
)
PARTITIONED BY (gender string)
STORED AS ORC
LOCATION '/user/root/hadoop_edu/top_100_salary_employee';
INSERT OVERWRITE TABLE hadoop_edu.top_100_salary_employee PARTITION (gender)
SELECT e.employee_id, e.first_name, e.family_name, avg(s.salary) as avg_salary, e.gender
# 연봉 top100 리스트 추출 후 테이블로 저장된 데이터 확인
SELECT gender, count(*) cnt
FROM hadoop_edu.top_100_salary_employee
GROUP BY gender;
# 아래와 같은 결과 나오면 성공
# 데이터가 저장된 HDFS 경로 확인
hadoop dfs -ls /user/root/hadoop_edu/top_100_salary_employee
'Hadoop' 카테고리의 다른 글
하이브(Hive) 실습 환경 구축 (employee, salaries) (3) | 2024.03.08 |
---|---|
하이브(Hive) 설치 (1) | 2024.03.08 |
하이브(Hive)에 대해 알아보자 (2) | 2024.03.08 |
[MapReduce] 파이썬으로 단어 별 빈도수 확인하기 (0) | 2024.03.07 |