소개
사하라 사막 한가운데에서 고고학자 팀이 수천 년 동안 황금 모래 속에 숨겨져 있던 고대 이집트 피라미드를 발견했습니다. 무덤 깊숙이 들어갔던 저주받은 탐험가에 대한 소문이 삽시간에 퍼져나가 여러분의 호기심을 자극했습니다. 숙련된 데이터 분석가로서, 여러분은 Hadoop 과 Hive 의 힘을 사용하여 전설 뒤에 숨겨진 진실을 밝혀내는 임무를 맡았습니다.
여러분의 임무는 두 가지입니다. 첫째, 고고학 기록의 방대한 데이터 세트를 처리하여 저주받은 탐험가의 신원과 운명에 대한 단서를 밝혀내는 것입니다. 둘째, 무덤에서 발굴된 유물 목록을 분석하여 피라미드를 건설한 수수께끼 문명에 대한 빛을 비추는 것입니다.
고고학 기록 탐색
이 단계에서는 Hive 와 where 절을 사용하여 고고학 기록을 살펴보고 데이터를 필터링하고 분석합니다.
- 터미널에서 다음 명령을 실행하여 Hadoop 환경을 시작합니다.
su - hadoop
- 다음 명령을 실행하여 Hive 셸을 시작합니다.
hive
- 데이터 세트를 저장하기 위해
archaeological_records라는 새 Hive 테이블을 생성합니다.
CREATE TABLE archaeological_records (
record_id INT,
site_name STRING,
discovery_date DATE,
description STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
/home/hadoop/records.csv파일에서archaeological_records테이블로 데이터를 로드합니다.
LOAD DATA LOCAL INPATH '/home/hadoop/records.csv' OVERWRITE INTO TABLE archaeological_records;
where절을 사용하여 저주받은 탐험가의 사이트와 관련된 기록을 필터링합니다.
SELECT *
FROM archaeological_records
WHERE site_name = 'Pyramid of Khufu';
이 쿼리는 "Pyramid of Khufu" 사이트와 관련된 모든 기록을 표시하여 단서를 찾는 데 도움을 줍니다.
유물 목록 분석
이제 기록을 좁혔으니, 저주받은 탐험가의 사이트에서 발굴된 유물 목록을 분석해 보겠습니다.
- 유물 데이터를 저장하기 위해
artifact_inventory라는 새 Hive 테이블을 생성합니다.
CREATE TABLE artifact_inventory (
artifact_id INT,
artifact_name STRING,
material STRING,
site_name STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;
/home/hadoop/artifacts.csv파일에서artifact_inventory테이블로 데이터를 로드합니다.
LOAD DATA LOCAL INPATH '/home/hadoop/artifacts.csv' OVERWRITE INTO TABLE artifact_inventory;
where절을 사용하여 "Pyramid of Khufu" 사이트에서 발견된 유물을 필터링합니다.
SELECT artifact_name, material
FROM artifact_inventory
WHERE site_name = 'Pyramid of Khufu';
이 쿼리는 저주받은 탐험가의 사이트에서 발견된 유물의 이름과 재료를 표시하여 피라미드를 건설한 문명에 대한 귀중한 통찰력을 제공합니다.
저주받은 탐험가의 정체 밝히기
고고학 기록과 유물 목록을 손에 넣었으니, 이제 저주받은 탐험가의 정체에 대한 미스터리를 풀어볼 시간입니다.
site_name열을 기준으로archaeological_records테이블과artifact_inventory테이블을 조인 (join) 합니다.
CREATE TABLE result_1
AS
SELECT ar.record_id, ar.description, ai.artifact_name
FROM archaeological_records ar
JOIN artifact_inventory ai
ON ar.site_name = ai.site_name
WHERE ar.site_name = 'Pyramid of Khufu';
SELECT * FROM result_1;
이 쿼리는 "Pyramid of Khufu" 사이트에 대한 고고학 기록과 유물 정보를 결합하여 저주받은 탐험가의 정체와 운명에 대한 단서를 밝힐 수 있습니다.
where절을 사용하여 조인된 데이터를 저주받은 탐험가와 관련된 키워드 또는 패턴을 기반으로 필터링합니다.
CREATE TABLE result_2
AS
SELECT ar.record_id, ar.description, ai.artifact_name
FROM archaeological_records ar
JOIN artifact_inventory ai
ON ar.site_name = ai.site_name
WHERE ar.site_name = 'Pyramid of Khufu'
AND ar.description LIKE '%cursed explorer%';
SELECT * FROM result_2;
이 쿼리는 "cursed explorer"를 언급하는 기록과 유물만 표시하여 퍼즐을 맞추는 데 도움을 줍니다.
요약
이 랩에서는 Hadoop Hive 와 where 절의 강력함을 탐구하여 고대 이집트 피라미드에 들어간 저주받은 탐험가의 미스터리를 풀었습니다. 고고학 기록과 유물 목록을 분석하여 관련 데이터를 필터링하고 추출하여 궁극적으로 탐험가의 정체와 운명에 대한 단서를 발견할 수 있었습니다.
이 실습을 통해 Hive 의 데이터 처리 능력과 대규모 데이터 세트에서 통찰력을 얻는 데 있어 데이터 필터링의 중요성에 대해 더 깊이 이해하게 되었습니다. 랩의 매력적인 시나리오와 단계별 안내는 학습 과정을 즐겁고 보람 있게 만들었습니다. 앞으로 이러한 기술을 미래의 데이터 분석 프로젝트에 적용하여 방대한 데이터 속에 숨겨진 더 많은 미스터리를 풀어나갈 수 있기를 기대합니다.



