본문 바로가기

분류 전체보기30

[Chapter 1] 파이썬 데이터 모델 Fluent Python을 읽고, 도움이 된 부분을 위주로 작성할 것! 이번 Chapter 1은 파이썬 데이터 모델에 대해서 말하고 있다. 여기서 데이터 모델은 파이썬 레퍼런스에서의 데이터 모델을 말한다. 레퍼런스를 약간 인용하자면, 모든 객체는 아이덴티티(identity), 형(type), 값(value)를 가진다. 아이덴티티(identity)는 메모리상에서의 객체의 주소 형(type)은 객체가 가질 수 있는 값들(string, integer,float 등) 값(value)은 가변이나 불변으로 존재 데이터 모델을 일종의 파이썬의 프레임워크로 설명할 수 있고, sequences, functions, iterators, coroutines, classes, context managers같은 언어 자체 bu.. 2023. 9. 19.
[6장] 스파크 SQL과 데이터세트 이번 장은 데이터세트 구조를 고수준 API으로 수용하기 위해서 스파크가 메모리를 어떻게 관리하는지 알아보자. 스파크 데이터세트 및 데이터 프레임을 위한 메모리 관리 스파크는 인메모리 분산 빅데이터 엔진이기 때문에, 메모리를 효율적으로 사용하는 것은 중요하다. 스파크 1.X에서, 인코더라고 불리는 효율적인 메커니즘을 사용해 JVM과 내부 텅스텐 포맷 사이를 직렬화하고 역직렬화한다. 오프 힙에 메모리를 직접 할당하는 건 스파크가 GC에 의해 받는 영향을 줄일 수 있다는 것을 의미한다. 스파크 2.X는 전체 단계 코드 생성 및 벡터화된 칼럼 기반 메모리 레이아웃을 특징으로 하는 텅스텐 엔진을 도입했으며, 빠른 병렬 데이터 액세스를 위하여 '단일 명령, 다중 데이터(SIMD)' 접근 방식의 최신 CPU 및 캐시.. 2023. 9. 13.
[5장] 스파크 SQL과 데이터 프레임: 외부 데이터 소스와 소통하기 이번 장은 스파크 SQL을 사용해 다음을 수행하는 방법에 대해서 알아보자. - 아파치 하이브 및 아파치 스파크 모두에 대해 사용자 정의 함수를 사용하기 - JDBC 및 SQL 데이터 베이스, PostgreSQL, MySQL, 태블로, 애저 코스모스 DB 및 MS SQL 서버와 같은 외부 데이터 원본과 연결하기 - 단순하거나 복잡한 유형, 고차 함수 그리고 일반적인 관계 연산자 사용하기 스파크 SQL과 아파치 하이브 스파크 SQL은 관계형 처리와 스파크의 함수형 프로그래밍 API를 통합하는 아파치 스파크의 기본 구성 요소다. 사용자 정의 함수(UDF) 스파크는 내장 함수도 제공하지만, 자신의 기능을 정의할 수 있는 유연성 또한 제공이 되며, 이를 사용자 정의 함수라 한다. 스파크 SQL UDF 사용자가 U.. 2023. 9. 5.
[6장] 클러스터 운영하기 클러스터 사이징과 스케일링 클러스터 용량 계획 세우기 용량을 산정하는 초기 측정 법은 동일한 애플리케이션을 실행하는 데 필요한 기존 서버의 수를 계산하는 것이다. 가장 작은 클러스터 가장 작은 쿠버네티스 클러스터는 단일 노드 구성이나, 안정적인 쿠버네티스 클러스터를 위한 최소한의 마스터 노드 개수는 세 개이다. 워크로드를 실행하는데 작은 클러스터로도 가능하나 권장하지 않는다. 클러스터 컨트롤 플레인이 고가용성을 보장한다면, 단일 노드로 운영해도 되나, 노드 장애를 고려해서 최소 두 개의 워커 노드로, 쿠버네티스가 모든 파드의 레플리카를 최소 두 개씩 실행하게 하는 것을 권한다. 가장 큰 클러스터 쿠버네티스는 공식적으로 최대 5000개 노드의 클러스터를 지원하며, 15만 개 이하의 파드, 30만 개 이하의.. 2023. 8. 3.