728x90

Inverted Index

먼저 예시를 보면

Doc1: apple banana coconut
Doc2: apple doughnut egg
Doc3: apple coconut melon

위와 같이 있다고 했을 때, Inverted Index는 아래와 같습니다.

apple -> Doc1:1, Doc2:1, Doc3:1
banana -> Doc1:7
coconut -> Doc1:14, Doc3:7
doughnut -> Doc2:7
egg -> Doc2:16
melon -> Doc3:15

위와 같이 각각의 단어가 어느 문서에서 어느 위치에 있는지 list로 가지고 있는것을 Inverted Index라고 합니다.

 

728x90

'Hadoop > 이론' 카테고리의 다른 글

Matrix Addition  (0) 2021.09.16
Partitioner Class  (0) 2021.09.15
맵리듀스 프레임워크 이해하기  (0) 2021.08.25
728x90

Partitioner Class

Map 함수의 출력인 (Key, Value) 쌍이 Key에 의해서 어느 Reducer (머신)로 보내질 것인지를 정해지는데
이러한 결정을 정의하는 class

하둡의 기본 타입은 Hash 함수가 Default로 제공되고 있어서 Key에 대한 해시 값에 따라 어느 Reducer(머신)으로 보낼지를 결정한다.

하둡의 기본타입
- Text
- IntWritable
- LongWritable
- FloatWritable
- DoubleWritable

Partitioner Class 예제 코드

소문자로 시작하면 0번 머신으로, 대문자로 시작하면 1번 머신으로 보내는 파티셔너 예제 코드

 public static class MyPartitioner extends Partitioner<Text, IntWritable> {
   @Override
   public int getPartition(Text key, IntWritable value, int numPartitions) {
     if(key.toString().charAt(0) < 'a') return 0;
     else return 1;
   }
 }

 

728x90

'Hadoop > 이론' 카테고리의 다른 글

Matrix Addition  (0) 2021.09.16
Inverted Index  (0) 2021.09.15
맵리듀스 프레임워크 이해하기  (0) 2021.08.25
728x90

⚒ 하둡 설치하기

1. 리눅스 환경 구축

하둡 설치에 앞서 리눅스 환경을 만들어줘야 합니다. 계정 이름은 hadoop으로 합니다!
리눅스 환경 구축 방법: https://dos-soles.tistory.com/24

 

WSL2을 이용한 리눅스 설치

💡 설치 방법 💡 리눅스 서버를 구하기 위해서는 다음과 같이 4가지 방법이 있습니다. 🔨1. PC에 우분투 설치  우분투를 기본 OS로 설치하는 기본적인 방법입니다. 설치가 어렵게 느껴질

dos-soles.tistory.com

2. 하둡 설치

하둡 다운로드: https://hadoop.apache.org/

 

Apache Hadoop

위에 링크에 들어가서 다운로드 -> 원하는 버전 바이너리 선택

저 링크를 눌러서 다운을 받으면 됩니다.
저는 3.2.2 버전을 설치하였고 /usr/local/hadoop/ 에 압축을 풀어서 넣었습니다.

3. 자바 설치

하둡은 자바로 개발 되었고 데몬을 구동할 때 jar 파일을 수정하기 때문에 자바를 설치 주어야 합니다.

$ sudo apt install ssh openjdk-8-jdk ant -y

4. 환경 설정

미리 작성한 파일을 실행 시킵니다.

$ ./set_hadoop_env.sh
$ source ~/.bashrc

5. ssh 키 설정

$ ssh-keygen -t rsa -P “”

뭐 물어보면 enter 누르면 됩니다.
키가 생성되면 키를 아래와 같은 이름으로 하나 복사합니다.

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

키가 잘 복사가 됐다면 ssh localhost 실행시 키를 묻지 않고 바로 실행 되야 합니다.
저는 여기서 다음과 같은 에러가 났습니다.

ssh: connect to host localhost port 22: Connection refused

방화벽 문제인 것 같아서 아래 명령어로 해결했습니다.

$ ufw allow ssh

다시 실행하면 실행은 되는데 키를 물어봅니다.

Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/hadoop/.ssh/id_rsa': 

여러 방법 다 해보다가 키 생성할 때 -P "" 부분을 지우고 생성해주었더니 잘 작동됩니다.

$ ssh-keygen -t rsa

이 명령어로 다시 키를 생성해서 ssh localhost 입력했고 키를 물어보지 않고 잘 작동 됩니다!

6. 하둡 실행 준비

/home/hadoop에서 아래 명령어를 입력합니다.

$ source .bashrc
$ hadoop namenode -format

$ start-dfs.sh

$ jps

위와 같이 나오면 성공입니다!

7. HDFS 디렉토리 생성

$ hdfs dfs –mkdir /user
$ hdfs dfs –mkdir /user/Hadoop

/user와 /user/hadoop 두개의 디렉토리를 생성해줍니다.

이렇게 하면 하둡 실습 전 환경 구성 완료입니다.

728x90

'Hadoop > 실습' 카테고리의 다른 글

WSL2을 이용한 리눅스 설치  (0) 2021.09.01

+ Recent posts