본문 바로가기

전체 글83

[Spark] 02. 스파크 기초 (RDD란) RDD란 Resilient Distriduted Dataset : 탄력적 분산 데이터셋 왜 RDD를 사용하나? 유연하다 짧은 코드로 할 수 있는게 많다 개발 시 무엇 보다는 어떻게에 대해 더 생각한다.(how-to) Lazy execution #RDD만드는 과정 sc = SparkContext(conf=conf) lines = sc.textFile(f"file:///{directory}/{filename}") #위 코드에서는 lines 객체가 RDD 5개 특징 1. 추상화 데이터는 클러스터에 흩어져있지만 하나의 파일인것 처럼 사용 가능하다. lines = sc.textFile(f"file:///{directory}/{filename}") #불려온 파일은 여러 노드에 저장되어 있지만, lines 객체를 통.. 2023. 2. 6.
[Spark] 01. 스파크 기초 (동작 과정) 스파크란? 빅데이터 처리를 위한 오픈소스 고속 분산처리 엔진이다. ※Hadoop의 연산엔진(MR)을 대체하는 분산처리 [플랫폼 / 엔진 / 프로젝트 / 프레임워크 / 솔루션] ※ 많은 기업에서 사용한다. 왜? 빅데이터의 문제 + 기존 시스템 개선 규모 : 데이터의 크기가 증가 속도 : 데이터가 생성되는 속도 증가 다양성 : 데이터의 종류 증가 기존 Hadoop의 연산엔진(MR) DISK I/O 작업 방식을 개선하기 위해 (속도 문제) 하둡은 크게 3부분으로 나뉜다. 파일시스템(hdfs), 연산엔진(mapreduece), 리소스관리(yarn) 이들 중 스파크는 연산엔진을 대체하는 플랫폼이다. 위 사진과 같이 디스크 작동은 느리다. HDD/SDD 부터 CPU까지의 거리?도 문제지만 hadoop의 MR 은 h.. 2023. 2. 6.
[Python] 함수와 메소드의 차이점 1. 함수(function) 🖥 함수 기본구조 함수명() 함수 이름을 통해 함수를 사용할 수 있다. 함수 예) print(), type(), str(), int(), bool(), 함수의 값을 변수에 대입할 수 있다. 👉🏻 output = function_name(input) Function is block of code that is also called by its name. (independent) The function can have different parameters or may not have any at all. If any data (parameters) are passed, they are passed explicitly. It may or may not return any data... 2023. 2. 5.
[Python] 할당과 복사 / 얕은 복사, 깊은 복사 (shallow copy, deep copy) 📍할당과 복사 할당과 복사는 비슷해보이지만 차이가 있다. 비교를 위해 먼저 리스트를 다른 변수에 할당해보자! 리스트 a를 b에 할당 a = [1, 2, 3] b = a 리스트를 다른 변수에 할당하였으므로 리스트가 두개가 될 것 같지만 확인해보면 다음과 같이 리스트는 하나이다. 두 리스트를 연산자로 확인해보면 True가 나온다. 이름은 다르지만 사실은 같은 리스트 a is b -> True 따라서 b의 요소를 변경하면 a도 변경이 된다. b의 1번 인덱스를 5로 변경 b[1] = 5 print(a) -> [1, 5, 3] print(b) -> [1, 5, 3] 이해하기 쉽게 그림으로 확인해보면 다음과 같다. 다음은 복사를 해보자! 이번에도 똑같은 리스트를 할당이 아닌 복사를 해보면 다음과 같다. a를 b로.. 2023. 1. 31.