소개
머나먼 은하계에서, 은하 제국과 반란 연합 사이에는 수 세기 동안 은하 전쟁이 벌어졌습니다. 유명한 우주 탐험가인 당신은 반란 연합에 의해 제국의 최신 무기 개발에 대한 중요한 정보를 수집하도록 모집되었습니다. 당신의 임무는 제국의 비밀 데이터 저장소에 침투하여 강력한 Hadoop 생태계를 사용하여 기록을 분석하는 것입니다.
은하 제국은 자원, 인구, 군사 작전에 대한 정보를 포함하여 행성 정복으로부터 방대한 양의 데이터를 수집해 왔습니다. 이 데이터는 그들이 철저히 보호하는 Hadoop 클러스터에 저장되어 있으며, 당신은 제국의 계획과 잠재적 약점을 밝히기 위해 이에 접근해야 합니다.
당신의 목표는 Hadoop 생태계 내의 데이터 웨어하우징 도구인 Hive 를 사용하여 제국의 데이터를 분석하고, 압제적인 정권에 맞서 싸우는 반란 연합을 도울 수 있는 패턴을 식별하는 것입니다. 특히, 대규모 데이터 세트에서 관련 정보를 효율적으로 분석하고 추출하기 위해 Hive 에서 LIMIT 절을 사용하는 방법을 배우게 됩니다.
제국의 데이터 저장소 접근
이 단계에서는 제국의 Hadoop 클러스터에 안전하게 연결하고 사용 가능한 데이터 세트를 탐색합니다.
- 보안 터미널을 실행하고 반란 연합의 자격 증명으로 인증합니다.
su - hadoop명령을 사용하여hadoop사용자로 전환합니다 (비밀번호는 필요하지 않음).
su - hadoop
- 기본 작업 디렉터리가 될
/home/hadoop디렉터리로 이동합니다.
cd /home/hadoop
- 사용 가능한 파일 및 디렉터리에 익숙해지기 위해 디렉터리의 내용을 나열합니다.
ls
empire_data라는 디렉터리가 표시됩니다. 이 디렉터리에는 다음 단계에서 분석할 제국의 데이터 기록이 포함되어 있습니다.
hive에서 사용하기 위해empire_data를 hdfs 에 넣습니다.
hadoop fs -mkdir -p /home/hadoop
hadoop fs -put /home/hadoop/empire_data /home/hadoop
제국의 자원 기록 탐색
이 단계에서는 Hive 에서 LIMIT 절을 사용하여 제국의 자원 기록을 분석합니다.
- 다음 명령을 실행하여 Hive 셸을 시작합니다.
hive
- 분석을 저장할
rebel_intelligence라는 새 데이터베이스를 생성합니다.
CREATE DATABASE rebel_intelligence;
rebel_intelligence데이터베이스를 사용합니다.
USE rebel_intelligence;
/home/hadoop/empire_data/resources디렉터리에 저장된 제국의 자원 데이터를 가리키는resources라는 외부 테이블을 생성합니다.
CREATE EXTERNAL TABLE resources (
planet STRING,
resource STRING,
quantity BIGINT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/home/hadoop/empire_data/resources';
LIMIT절을 사용하여resources테이블의 처음 10 개 레코드를 미리 봅니다.
SELECT * FROM resources LIMIT 10;
이 명령은 resources 테이블의 처음 10 개 행을 표시하여 데이터의 구조와 내용을 이해할 수 있도록 합니다.
LIMIT절을 사용하여 쿼리를 실행하여 행성 간의 자원 분포를 분석합니다.
SELECT planet, SUM(quantity) AS total_resources
FROM resources
GROUP BY planet
ORDER BY total_resources DESC
LIMIT 5;
이 쿼리는 총 자원이 가장 많은 상위 5 개 행성을 표시하여 제국의 자원 풍부한 영토에 대한 귀중한 통찰력을 제공합니다.
제국 군사 작전 분석
이 단계에서는 LIMIT 절을 사용하여 제국의 임무 기록을 쿼리하여 제국의 군사 작전을 조사합니다.
/home/hadoop/empire_data/missions디렉터리에 저장된 제국의 임무 데이터를 가리키는missions라는 외부 테이블을 생성합니다.
CREATE EXTERNAL TABLE missions (
mission_id STRING,
planet STRING,
operation STRING,
start_date STRING,
end_date STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/home/hadoop/empire_data/missions';
LIMIT절을 사용하여missions테이블의 처음 5 개 레코드를 미리 봅니다.
SELECT * FROM missions LIMIT 5;
LIMIT절을 사용하여 쿼리를 실행하고end_date열을 기준으로 정렬하여 가장 최근의 군사 작전을 분석합니다.
SELECT planet, operation, end_date
FROM missions
ORDER BY end_date DESC
LIMIT 10;
이 쿼리는 제국이 수행한 가장 최근의 10 개 군사 작전을 표시하여 최신 활동에 대한 귀중한 정보를 제공합니다.
LIMIT절을 사용하여 쿼리를 실행하고planet열을 기준으로 그룹화하여 군사 작전이 가장 집중된 행성을 식별합니다.
SELECT planet, COUNT(*) AS operation_count
FROM missions
GROUP BY planet
ORDER BY operation_count DESC
LIMIT 3;
이 쿼리는 군사 작전 수가 가장 많은 상위 3 개 행성을 보여주며, 이는 반란 연합의 잠재적 목표 또는 전략적 위치를 나타냅니다.
제국의 인구 통제 조치 분석
이 단계에서는 LIMIT 절을 사용하여 인구 조사 기록을 분석하여 제국의 인구 통제 조치를 공개합니다.
/home/hadoop/empire_data/census디렉터리에 저장된 제국의 인구 조사 데이터를 가리키는census라는 외부 테이블을 생성합니다.
CREATE EXTERNAL TABLE census (
planet STRING,
species STRING,
population BIGINT
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
LOCATION '/home/hadoop/empire_data/census';
LIMIT절을 사용하여census테이블의 처음 10 개 레코드를 미리 봅니다.
SELECT * FROM census LIMIT 10;
LIMIT절을 사용하여 쿼리를 실행하고population열을 내림차순으로 정렬하여 인구가 가장 많은 행성을 분석합니다.
SELECT planet, SUM(population) AS total_population
FROM census
GROUP BY planet
ORDER BY total_population DESC
LIMIT 5;
이 쿼리는 제국에서 인구가 가장 많은 상위 5 개 행성을 표시하여 새로운 반군을 모집하거나 상당한 민간인 인구가 있는 지역을 식별할 수 있는 잠재적 위치에 대한 통찰력을 제공합니다.
LIMIT절을 사용하여 쿼리를 실행하고species열을 기준으로 그룹화하여 제국 전체에서 인구가 가장 많은 종을 식별합니다.
SELECT species, SUM(population) AS total_population
FROM census
GROUP BY species
ORDER BY total_population DESC
LIMIT 3;
이 쿼리는 제국에서 인구가 가장 많은 상위 3 개 종을 보여주며, 이는 반란 연합에 대한 다양한 종의 다양성과 잠재적 지원을 이해하는 데 유용한 정보가 될 수 있습니다.
요약
이 랩에서는 Hadoop 생태계 내의 데이터 웨어하우징 도구인 Hive 에서 LIMIT 절을 사용하여 은하 제국의 방대한 데이터 저장소에서 관련 정보를 효율적으로 분석하고 추출하는 방법을 배웠습니다. 자원 기록, 군사 작전 및 인구 조사 데이터를 탐색하여 제국의 강점, 약점 및 잠재적 취약성에 대한 귀중한 통찰력을 얻었습니다.
실습을 통해 외부 테이블을 생성하고, LIMIT 절을 사용하여 데이터를 쿼리하고, 특정 기준에 따라 결과를 필터링하고 정렬하는 연습을 했습니다. 이러한 실질적인 경험은 Hive 기술을 강화했을 뿐만 아니라 대규모 데이터 세트에서 실행 가능한 정보를 추출하는 방법에 대한 더 깊은 이해를 제공했습니다.
은하 전쟁을 배경으로 한 랩의 몰입형 시나리오는 학습 경험에 매력적이고 동기 부여적인 맥락을 더했습니다. 반란 연합을 위해 일하는 우주 탐험가의 역할을 맡아 제국의 비밀을 밝히는 데 목적 의식과 긴박감을 느끼게 되어 학습 과정을 더욱 즐겁고 의미 있게 만들었습니다.
전반적으로 이 랩은 빅 데이터 영역에서 미래의 과제에 대비하고 압제적인 은하 제국에 맞서 싸우는 반란 연합에 기여할 수 있도록 데이터 분석에서 Hadoop 및 Hive 의 강력한 기능을 활용하는 데 필요한 기술을 갖추도록 했습니다.



