본문 바로가기

전체 글55

[Python] GIL, 파이썬 메모리 관리 Global Interpreter Lock (GIL) GIL은 말 그대로 Interpreter가 한 스레드만 하나의 코드를 실행 시킬 수 있도록 Lock을 걸어주는 것. 따라서 하나의 스레드에 모든 자원을 사용하도록 하고 나머지 쓰레드에는 Lock을 건다 파이썬으로 멀티쓰레딩을 사용하면 오히려 소요시간이 늘어나는 경우가 종종 있음 import threading import random import time def testing(): max([random.random() for _ in range(50000000)]) st = time.time() for i in range(2): testing() print('single: ', time.time()-st) threads = [] st = .. 2021. 11. 5.
[Python] Iterator, Generator Iterable list, set, dict, tuple, str 등과 같이 말그대로 반복 가능한 객체 __iter__() 함수를 가지고 있음 (else, object is not iterable 에러 발생) iter(Iterable)을 통해 Iterator 반환 Iterator Iterable object를 하나씩 차례대로 꺼낼 수 있는 객체 __next__() 함수를 가지고 있음 (else, object is not iterator 에러 발생) next(Iterator)를 통해 iterable object 내부의 값을 하나씩 불러옴 모든 값을 순회한 후에 next() 사용시 StopIteration 예외 발생 Generator Iterator의 특수한 형태, 하위 클래스 return 대신 yield .. 2021. 11. 4.
Hadoop 3 완전 분산 모드 설치 - 2 (Hadoop 설치 & MapReduce) 목표 VM 환경에서 하둡을 완전 분산 모드로 설치하고 Map-Reduce를 실행해보자. 준비 - Java 8 - SSH - Hadoop-3.3.1 기본설치 - 필요한 패키지 정보 업데이트 ~$ sudo apt update ~$ sudo apt upgrade -y - Java 8 설치 ~$ sudo apt install openjdk-8-jdk -y # 버전 확인 ~$ java -version openjdk version "1.8.0_292" OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.04-b10) OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode) - SSH 설치 ~$ sudo a.. 2021. 10. 31.
Hadoop 3 완전 분산 모드 설치 - 1 (VirtualBox에 Linux 설치하기) 목표 VM 환경에서 하둡을 완전 분산 모드로 설치하고 Map-Reduce를 실행해보자. 준비 VirtualBox (6.x) Linux distro image (Ubuntu 20.x) VirtualBox에 Linux 설치 Part 1 - VM 만들기 VirtualBox를 실행하고 [Ctrl + N] 혹은 [새로 만들기(N)] 버튼을 클릭 임의의 VM 이름 입력 (종류와 버전이 자동 선택 되는 듯), 저장 위치 지정, 종류와 버전 선택. [다음(N)] 버튼 클릭. 메모리 크기를 지정. 여기서는 2gb 설장함. [다음(N)]. 지금 [새 가상 하드 디스크 만들기(C)] 선택, [다음(N)]. [VDI(VirtualBox 디스크 이미지)] 선택, [다음(N)]. 설명을 읽어보고 선택. 여기서는 동적 할당 선택함.. 2021. 10. 31.