Python 4

[Python] Memory allocate & Garbage Collection

part 1. 메모리 할당 방법 모든 프로세스들은 운영체제에 의해 자원을 할당받는데, 파이썬도 마찬가지이다. 파이썬도 운영체제에서 메모리 자원을 할당받는다. 파이썬 인터프리터는 메모리 할당을 파이썬 버전이나 환경 세팅에 따라서 운영체제로부터 받지만, 이 부분은 걱정하지 않아도 된다. (=엄청 딥하게 할거아니면 세팅할 일이 없나보다) 하드디스크에 있는 프로그램을 실행하기 위해 운영체제에 필요한 자원을 요청하고 프로그램을 메모리에 올린다. 그리고 CPU가 실행한다. 이 때 할당받는 메모리 구조는 아래와 같다. 위를 상기하면서, 파이썬을 들여다보자. Everything is object in Python 파이썬에서 모든 것은 객체라고 한다. 이 말을 이해해보자. x=10 x라는 변수에 10이라는 값을 할당했을..

Python 2023.12.05

[Dask] 개념 및 Scheduler

Dask 란? Dask is a flexible library for parallel computing in Python. Anaconda 에서 파이썬 병렬 컴퓨팅을 위해 만든 라이브러리로 Pandas, Numpy 데이터 처리가 병렬처리 환경에서 동작하는 것을 지원. Lazy 연산을 지원 (Spark랑 비슷) Task(Dask Array, Dask DataFrame 등) 객체를 만들면→ Task Graph: Task들을 어떻게 처리할 것인지 로직 생성 → Scheduler (프로세스, 스레드, 동기, 분산 등) 자원 할당한 방식으로 실행 Spark 처럼 실행 계획을 세우고 Action을 취할 때 Lazy 연산이 실행되는 점에서 비슷 로컬에서 개발하고 Scheduler만 갈아끼워서 클러스터 환경에서 기동가..

Python 2023.11.29

[Spark] 실행 환경 (클러스터, 로컬) 설정

Spark는 여러 개의 서버 혹은 로컬 환경에서 구축할 수 있다. 그러면, 어떻게 환경을 세팅하고 셋팅된 정보를 얻을 수 있는가? 우선 local 환경에 spark를 구축하고 My app이라는 별칭을 붙여주었다. from pyspark.conf import SparkConf from pyspark.context import SparkContext # config conf = SparkConf() conf.setMaster("local").setAppName("My app") conf.get("spark.master") # return 'local' conf.get("spark.app.name") # return 'My app' conf.toDebugString() # return 'spark.master..

Spark 2022.02.25