분류 전체보기
-
Containerd VS DockerDocker 2022. 8. 8. 16:15
평소 모든 작업을 Docker에서 진행하고 있지만, 컨테이너 기술의 개념과 이론적인 지식이 많이 부족하다고 생각되어 찾아보게 된 내용을 정리한 글로 내용을 계속 추가할 예정이다. Docker - Docker의 기본 아이디어는 프로세스, CPU, Memory, disk I/O, Network 등의 리소스들을 컨테이너라는 독립적인 하나의 그룹으로 묶어서 관리하자는 것으로 Namespace, cgroup 등 Linux의 여러 커널 기능들을 조합해서 만들어졌다. - 대규모 컨테이너 오케스트레이션인 Kubernetes는 초기에 Docker의 영향을 많이 받았다, 초기 Docker는 하나의 완성된 컨테이너 사용자경험을 만드는데 집중하여 하나의 패키지에 API, CLI, Network, Storage 등 여러 기능을..
-
Spark : ConfigAI 2022. 8. 1. 11:19
SparkConf import org.apache.spark.SparkContext import org.apache.spark.SparkConf val conf = new SparkConf().setAppName("Test").setMaster("yarn") conf.set("spark.executor.memory", "1g").set("spark.executor.cores", "1") val sc = new SparkContext(conf) 설정 옵션 설정 기본값 비고 spark.driver.memory 2g Driver가 사용할 메모리 spark.executor.memory 5g Executor가 사용할 메모리 spark.executor.cores 1 Application에 사용할 코어 개수 spar..
-
Spark : Dataset / DataFrameAI 2022. 7. 29. 16:27
SparkSession 세션 초기화 import org.apache.spark.sql.SparkSession val ss = SparkSession.builder() .appName("Spark App Name") .config("spark.some.config.option", "some-value") .getOrCreate() spark-shell을 이용할 경우 REPL쉘이 스파크 세션 객체를 초기화 해준다. Hive Metasore Connect 사파크 세션은 단독으로 사용할 수 있지만, Hive Metasore와 연결하여 사용할 수도 있다. 이때는 세션 생성시에 "hive.metastore.uris" 값을 설정하면 된다. val ss = SparkSession.builder() .appName("S..
-
Spark : RDDAI 2022. 7. 27. 16:48
RDD 외부 데이터를 읽어서 처리하거나, 자체적으로 컬렉션 데이터를 생성하여 처리 데이터 처리는 파티션 단위로 분리하여 작업을 처리 연산 Transformation : 필터링 같은 작업으로 RDD → RDD Action : RDD로 작업을 처리하여 결과를 드라이버에 반환하거나, FS에 쓰는 연산 스파크는 지연 처리를 지원하여 Transformation을 호출할 때는 작업을 처리하지 않고, Action을 호출하는 시점에 작업을 처리하여 작업의 효율성을 제공 RDD는 액션이 실행될 때마다 새로운 연산을 처리. 작업의 처리 결과를 재사용하고 싶으면 persist() 메소드를 사용하여 결과를 메모리에 유지 RDD는 스파크 컨텍스트 객체를 이용하여 생성할 수 있음. SparkContext Init SparkCon..
-
Spark : 구조AI 2022. 7. 26. 15:54
드라이버 ( 작업 관리 ) + 클러스터 매니저 ( 노드 관리 ) 스파크 애플리케이션의 구조 마스터-슬레이브 구조로 실행되며, 애플리케이션은 드라이버(작업 관리)와 익스큐터(작업 동작)로 구성 드라이버 : 스파크 컨텍스트 객체 생성, 클러스터 매니저와 통신하며 클러스터 자원 관리 지원, 애플리케이션 라이프 사이클 관리 스파크 애플리케이션 드라이버와 Executor로 실행되는 스파크 실행 프로그램으로 클러스터 매니저를 통해 리소스를 할당 받음. 드라이버 스파크 애플리케이션을 실행하는 프로세스 main 함수를 실행하고, 스파트 컨텍스트 객체 생성 라이프 사이클을 관리하고, 사용자로 부터 입력을 받아서 애플리케이션에 전달 디플로이 모드를 클라이언트 모드(클러스터 외부에서 드라이버 실행)와 클러스터 모드(클러스터..
-
MLflow Components카테고리 없음 2022. 7. 26. 14:52
MLflow Tracking - 기록되어 있는 experience의 parameters와 metrics, code version, artifacts의 GET, SET을 위한 API와 UI 제공을 위한 서버 개념 Code Version : MLflow 프로젝트에서 실행된 경우, 해당 코드 혹은 사용된 git의 commit hash Parameters : 모델 학습에 사용된 파라미터 값이 key-value 형태로 저장됨 Metrics : Parameters와 마찬가지로 key-value 형태로 저장되며, 각 항목은 run 과정에서 업데이트된다. Artifacts : Pytorch, scikit-learn, Tensorflow 모델을 포함하여, pickle과 같은 데이터 파일을 포함하고 있는 모든 형식의 출력..
-
MLflow Tracking Servers카테고리 없음 2022. 7. 26. 14:51
Storage - mlflow tracing server를 실행하기 위해 가장 기본적으로 사용되는 명령어는 아래와 같을 것 입니다. mlflow server \ --backend-store-uri \ --default-artifact-root \ --host 0.0.0.0 - mlflow에서는 proxied artifact handler를 제공하고 이를 사용하고자 할 경우 명령어는 다음과 같습니다. mlflow server \ --host 0.0.0.0 \ --serve-artifacts \ --artifacts-destination - backend store는 entities(runs, parameters, metrices, tags, notes, metadata, etc)로 구성됨 - artifac..
-
Spark : BasicAI 2022. 7. 26. 14:51
정의 인메모리 기반의 대용량 데이터 고속 처리 엔진 범용 분산 클러스터 컴퓨팅 프레임워크 특징 인메모리 기반이기 때문에 빠른 처리가 가능하다 MapReduce은 작업의 중간 결과를 디스크에 쓰기 때문에 IO로 인한 작업 속도에 제약이 생기지만, 스파크는 이러한 중간 결과를 메모리에 저장하기 때문에 반복 잡어에서 높은 처리 효율을 보인다. Java, Scala, Python, R, SQL과 같이 다양한 언어를 지원하여 사용의 편이성 제공 언어마다 처리 속도의 차이가 있음. SQL, Streaming, ML, 그래프 연산 등 다양한 컴포넌트 제공 Spark Streaming을 이용한 스트림 처리 Spark SQL을 이용한 SQL 처리 MLib를 이용한 머신러닝 처리 GraphX를 이용한 그래프 처리 추가적인..