전체 글

새로운 가능성을 그려가는 코드 속에 끊임없이 피어나는 도전의 순간
개요스파크 동작의 원리를 Jupyter Notebook 환경에서 실습하고, Spark UI를 통해 내부 처리 과정을 살펴보는 방법을 정리한다.  Jupyter Notebook 환경에서 Spark 설정하기 Spark 설치로컬 환경 혹은 도커 환경에서 Spark를 설치한다.설치 후, spark-submit, pyspark 등의 명령이 정상 동작하는지 확인한다.Jupyter Notebook 설치 및 실행pip install jupyter (또는 pip3 install jupyter)터미널에서 jupyter notebook 명령 실행브라우저가 자동으로 열리거나, http://localhost:8888 주소로 접속한다.PySpark를 Notebook에서 사용노트북 셀에서 from pyspark.sql import..
개요스파크는 대규모 데이터를 빠르게 처리하기 위해 분산 처리 메커니즘을 갖춘 프레임워크이다. 스파크가 동작하는 원리를 이해하려면 Driver, Executor, Cluster Manager, 그리고 RDD, DAG, Job, Stage, Task 등 핵심 요소들을 살펴보아야 한다. 내용전체적인 아키텍처(Driver, Executor, Cluster Manager)Driver(드라이버) 는 사용자가 작성한 코드를 해석하고, 분산 작업을 지시·관리하는 주체이다.Executor(실행기) 는 Driver로부터 전달받은 작업을 실제로 수행하는 프로세스이며, 각 노드(Worker)마다 여러 Executor가 존재한다.Cluster Manager(클러스터 매니저) 는 Spark Standalone, YARN, Mes..
개요 분산 환경에서 메시지를 주고받을 때는 메시지 중복이나 유실 같은 문제가 늘 발생 가능하다. 장애나 네트워크 이슈로 인해 메시지를 ‘한 번만’ 처리하는 것이 쉽지 않기 때문이다.  Kafka는 0.11 버전부터 Idempotent Producer(멱등성 프로듀서)와 Transactions(트랜잭션) 기능을 제공해 정확히 한 번 메시지를 처리할 수 있는 기반을 마련했다.  또한 Kafka Streams를 사용하면 이러한 기능을 간단히 활용해 End-to-end Exactly-once에 가까운 처리 흐름을 만들 수 있다. 이 글에서는 Exactly-once Semantics의 개념과 내부 원리를 살펴본 뒤, 운영 과정에서 발생할 수 있는 엣지 케이스와 그 방지 방법을 간단히 살펴보자.내용Exactly-o..
·AI/개념
개요 딥러닝을 포함한 머신러닝의 근원은 데이터다. 데이터의 수집, 가공, 사용 방법에 따라 모델 성능이 크게 달라지므로, 데이터를 올바르게 불러오는 것은 가장 중요한 단계 중 하나다. 이번 포스팅에서는 PyTorch에서 데이터를 불러오는 다양한 방법을 단계별로 살펴보고, 커스텀 데이터셋을 구현하는 방법까지 알아본다. 파이토치 제공 데이터 사용라이브러리 불러오기먼저 PyTorch와 이미지 관련 라이브러리, 데이터 처리를 위한 기타 라이브러리를 불러온다.import torch # 파이토치 기본 라이브러리 import torchvision # 이미지 관련 파이토치 라이브러리import torchvision.transforms a..
지혜와 본질을 추구하는 자
좋은 개발자 현명한 사람