천상의 데이터 마스터리

HadoopBeginner
지금 연습하기

소개

초자연적인 영역에 오신 것을 환영합니다. 이곳에서는 우주의 힘이 인간의 존재와 얽혀 있습니다. 이 세상과는 다른 시나리오에서, 여러분은 시간과 공간을 초월하는 영적인 지식을 보호하는 임무를 맡은 천상의 지도자 에제키엘의 역할을 맡게 됩니다. 여러분의 임무는 강력한 데이터 관리 플랫폼인 Hadoop 을 활용하여 이 귀중한 지혜를 보존하고 천상의 영역 전체에 전파하는 것입니다.

에제키엘로서 여러분은 수많은 세월 동안 축적된 지식을 담고 있는 광대한 저장소인 천상의 기록 보관소를 관리합니다. 그러나 데이터의 양이 너무 많아져 압도적인 상황이 되었고, 이 정보를 효율적으로 정리하고 배포하기 위한 정교한 시스템이 필요하게 되었습니다. Hadoop 은 여러분이 천상의 통찰력을 동료 천상의 존재들과 함께 로드, 처리 및 공유할 수 있게 해주는 강력한 도구입니다.

여러분의 목표는 Hadoop 의 분산 파일 시스템과 Hadoop 위에 구축된 오픈 소스 데이터 웨어하우스 시스템인 Hive 에 데이터를 로드하고 삽입하는 기술을 마스터하는 것입니다. 그렇게 함으로써, 여러분은 천상의 기록 보관소의 비밀을 풀고, 깨달음을 추구하는 사람들에게 영원한 지혜가 접근 가능하도록 보장할 것입니다.

Hadoop 분산 파일 시스템 (HDFS) 에 데이터 복사

이 단계에서는 Hadoop 생태계의 핵심인 Hadoop 분산 파일 시스템 (HDFS) 으로 로컬 파일 시스템에서 데이터를 전송하는 방법을 배우게 됩니다. HDFS 는 여러 노드에 걸쳐 대량의 데이터를 저장하고 관리하도록 설계되어 데이터 중복성 및 내결함성을 보장합니다.

먼저, 터미널에서 다음 명령을 실행하여 hadoop 사용자로 로그인했는지 확인합니다.

su - hadoop

이제 로컬 파일 시스템에 샘플 데이터 파일을 생성해 보겠습니다.

echo "Hello, Celestial Realm" > /home/hadoop/celestial_data.txt

이 명령은 /home/hadoop 디렉토리에 "Hello, Celestial Realm!" 내용이 포함된 celestial_data.txt라는 텍스트 파일을 생성합니다.

다음으로, hadoop fs 명령을 사용하여 이 파일을 HDFS 로 복사합니다.

hadoop fs -mkdir -p /home/hadoop/celestial_archives
hadoop fs -put /home/hadoop/celestial_data.txt /home/hadoop/celestial_archives

이 명령은 다음과 같은 작업을 수행합니다.

  • hadoop fs는 HDFS 와 상호 작용하기 위한 명령줄 유틸리티입니다.
  • -mkdir: 디렉토리를 생성하는 hadoop fs 명령의 하위 명령입니다.
  • -p: 상위 디렉토리를 재귀적으로 생성하는 옵션입니다. 지정된 경로에 상위 디렉토리가 없으면 함께 생성됩니다.
  • -put은 로컬 파일 시스템에서 HDFS 로 파일을 복사하는 작업입니다.
  • /home/hadoop/celestial_data.txt는 로컬 파일 시스템의 소스 파일 경로입니다.
  • /home/hadoop/celestial_archives는 HDFS 의 대상 디렉토리 경로입니다.

이 명령을 실행한 후, 파일이 HDFS 로 복사되었음을 확인하는 성공 메시지가 표시됩니다.

Hive 테이블 생성 및 데이터 로드

이 단계에서는 Hive 테이블을 생성하고 HDFS 에서 테이블로 데이터를 로드하는 방법을 배우게 됩니다. Hive 는 Hadoop 위에 구축된 강력한 데이터 웨어하우징 도구로, 효율적인 데이터 요약, 쿼리 및 분석을 위해 설계되었습니다.

먼저, 다음 명령을 실행하여 Hive CLI 를 시작해 보겠습니다.

hive

이렇게 하면 Hive 대화형 셸이 열리고, 여기서 Hive 쿼리 및 명령을 실행할 수 있습니다.

다음으로, 데이터를 저장하기 위해 celestial_archives라는 새 Hive 테이블을 생성합니다.

CREATE TABLE celestial_archives (message STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;

이 Hive 쿼리는 다음과 같은 작업을 수행합니다.

  • CREATE TABLE celestial_archivescelestial_archives라는 새 테이블을 생성합니다.
  • (message STRING)STRING 데이터 유형의 message라는 단일 열을 정의합니다.
  • ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'는 데이터 파일의 각 행이 탭 문자 (\t) 로 구분됨을 지정합니다.
  • STORED AS TEXTFILE은 테이블 데이터가 HDFS 에 일반 텍스트 파일로 저장됨을 나타냅니다.

테이블을 생성한 후, LOAD DATA 명령을 사용하여 HDFS 에서 Hive 테이블로 데이터를 로드합니다.

LOAD DATA INPATH '/home/hadoop/celestial_archives/celestial_data.txt' INTO TABLE celestial_archives;

이 명령은 HDFS 의 /home/hadoop/celestial_archives/celestial_data.txt 파일에서 celestial_archives Hive 테이블로 데이터를 로드합니다.

마지막으로, 테이블을 쿼리하여 데이터가 올바르게 로드되었는지 확인할 수 있습니다.

SELECT * FROM celestial_archives;

이 쿼리는 celestial_archives 테이블의 내용을 표시해야 하며, 이는 "Hello, Celestial Realm!" 메시지여야 합니다.

요약

이 랩에서는 Celestial Archives 의 에테르 지식을 보호하는 임무를 맡은 천상의 지도자 에제키엘의 역할을 맡았습니다. Hadoop 의 분산 파일 시스템 (HDFS) 및 Hive 에 데이터를 로드하고 삽입하는 기술을 마스터함으로써, 이 귀중한 지혜를 천상의 영역 전체에 보존하고 전파하는 데 중요한 발걸음을 내디뎠습니다.

실습을 통해 로컬 파일 시스템에서 HDFS 로 데이터를 복사하고, Hive 테이블을 생성하고, HDFS 에서 이러한 테이블로 데이터를 로드하는 방법을 배웠습니다. 이러한 작업을 수행함으로써 Celestial Archives 의 비밀을 풀고, 깨달음을 추구하는 사람들이 시대의 지식을 접근할 수 있도록 보장했습니다.

이 랩은 Hadoop 및 Hive 를 사용하는 실용적인 기술을 제공했을 뿐만 아니라, 창의적으로 생각하고 이러한 도구를 독특하고 초현실적인 시나리오에 적용하도록 도전했습니다. 천상의 지식을 보존하는 여정은 이제 막 시작되었으며, 여러분이 습득한 기술은 데이터 관리 및 분석의 광대한 영역을 계속 탐험하는 데 매우 귀중할 것입니다.