240718 Today I Learn스파크의 기본 구조Lazy CompuationSpark는 바로바로 주어진 변환Transformation을 수행하지 않고, 여러 변환들을 차곡차곡 쌓아둔 뒤, 한 번에 최적화하여 수행미루어둔 일이 쌓인 것을 Lineage라고 하는데, 전체 변환을 보고 중간에 필요없는 연산은 제거하기 위해 고의적으로 이러한 지연을 만드는 것이다.변환이 쌓인 Lineage를 수행하도록 구동Trigger하는 작업들을 Action이라고 함.→ count, collect, take, top, show, write, toDF 등분산처리와 PartitionPartition : 모든 executer가 병렬로 일할 수 있도록 쪼갠 데이터의 단위파티션을 직접 조작해 원하는 데이터를 파티션에 강제로 배정할..
240717 Today I Learn병렬처리와 분산처리병렬처리 vs. 분산처리병렬처리 : 여러개의 core에서 동시 다발적으로 일을 나누어서 처리Multiprocessing이나 joblib이 흔히 사용.sklearn의 njobs가 이를 제어하는 기능.분산처리 : 네트워크를 통해 연결된 여러 대의 컴퓨터(노드)가 각각의 작업을 수행하는 것Spark를 포함해 Ray, Dask 등의 라이브러리를 사용할 수 있음.병렬 처리 vs Vectorize💡 한 기기의 메모리 안에서 처리가 가능한 규모라면, 굳이 Spark를 사용하는 것보다는 연산을 최적화하는 것이 더 낫다.Numpy(Pandas 포함)는 벡터화 연산을 통해 단순 반복작업을 굉장히 빠르게 처리할 수 있음.스파크에서도 개별 머신은 벡터화를 수행하여 속도를..
240715 Today I Learn스파크란?💥 Spark?SQL, 스트리밍, 머신러닝 및 그래프 처리를 위한 기본 제공 모듈이 있는 대규모 데이터 처리용 통합 분석 엔진. 클라우드의 Apache Hadoop, Apache Mesos, Kubernetes에서 자체적으로 실행될 수 있으며 다양한 데이터 소스에 대해 실행될 수 있음.→ 대용량 데이터를 다루는 것에 특화된 프레임 워크파이썬과 데이터메모리 RAM = 작업 공간기억된 정보를 읽어내기도 하고 다른 정보를 기억시킬 수도 있는 메모리로서, 컴퓨터의 주기억장치, 응용 프로그램의 일시적 로딩(loading), 데이터의 일시적 저장 등에 사용됨.컴퓨터를 끄면 RAM에 올라간 데이터는 삭제 SSD = 저장 공간장기적으로 데이터를 보관(저장)하는 공간컴퓨터..