전체 글
-
[Spark] parallelize 알아보기Spark 2023. 12. 15. 06:39
parallelize 란 ?이번 글에서는 Spark RDD 를 생성하는 기본적인 함수인 parallelize 에 대해서 알아보도록 하겠습니다.parallelize 는 SparkContext 객체가 제공하는 RDD 를 생성하는 함수입니다.parallelize 함수를 통해서 메모리 상에 존재하는 Local Variable 를 RDD 로 변환할 수 있습니다.parallelize 함수의 활용법은 간단하기 때문에 예시를 통해서 자세히 알아보도록 하겠습니다. 먼저 아래와 같이 SparkContext 를 생성합니다.저는 Local Spark Cluster 를 생성하여 이를 활용하였습니다.그리고 먼저 Python List 변수를 생성하고 이는 RDD 로 변환합니다.그럼 아래의 출력 결과와 같이 RDD 가 생성됩니다. ..
-
Spark DataFrame 알아보기Spark 2023. 12. 15. 06:39
- 목차 소개. Spark 의 DataFrame 은 Pandas 의 DataFrame 처럼 행과 열을 가지는 데이터를 표현하는 방식입니다. 즉, Matrix 를 표현할 수 있는 Spark 의 자료구조입니다. 뿐만 아니라 DataFrame 은 Distributed Collection of Data 라고 불립니다. Matrix 를 표현하는 범위를 넘어서 분산처리가 가능한 자료구조입니다. 정리하면, DataFrame 을 분산처리가 가능한 Spark 의 데이터 단위입니다. 이번 글에서 Spark 의 DataFrame 에 대해서 자세히 일아보려고 합니다. DataFrame 이란. DataFrame 에 대해서 알아보기 이전에 Spark 의 자료구조들에 대해서 알아보려고 합니다. - Row - Seq - Datase..
-
Helm 으로 Spark 구축하기Spark 2023. 12. 15. 06:39
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/407 KinD 알아보기. - 목차 소개. KinD 는 "카인드" 라고 발음되며, 로컬 머신에서 쿠버네티스를 간편하게 실행할 수 있는 도구입니다. KinD 는 Kubernetes in Docker 의 약자이구요. Docker 를 활용하여 쿠버네티스 환경을 구성 westlife0615.tistory.com https://westlife0615.tistory.com/408 Helm 알아보기 - 목차 소개. Helm 은 쿠버네티스를 위한 패키지 매니저입니다. npm, pip 등의 패키지 매니저들이 이미 만들어진 라이브러리들을 추가/삭제할 수 있는 기능을 제공하듯이, Helm 은 미리 설정된 쿠버네 westlife0615...
-
[pytorch] optim.SGD 알아보기AI-ML 2023. 12. 13. 07:54
- 목차 키워드.- Stochastic Gradient Descent SGD 란 ?이번 글에서는 pytorch 의 대표적인 Optimizer 인 SGD 와 그 사용법에 대해서 알아보려고 합니다.우리말로 경사하강법이라고 말하는 Gradient Descent 알고리즘은 Neural Network 의 파라미터를 업데이트하는 방식입니다.만약 12개의 Weight 로 구성된 Neural Network 가 존재한다고 가정하겠습니다.일반적인 DenseNet Layer 이며, 4개의 Input 에 대해서 3개의 Output 을 생성하는 Fully Connected Layer 입니다.그래서 4x3 인 Dense Net 은 12개의 Weight 를 가지게 됩니다. 그리고 MSE 와 같은 Loss 에 대해서 모든 Weigh..
-
Hadoop DataNode 알아보기Hadoop 2023. 12. 12. 05:55
- 목차 DataNode. 하둡의 데이터노드는 실질적인 파일을 저장하는 영역입니다. 네임노드와 데이터노드가 모여 하둡이라는 분산 저장소를 형성하는데요. 네임노드는 파일들이 분산저장된 메타데이터를 저장하고, 데이터노드는 파일들의 block 들을 저장합니다. 간단한 예시를 하나 들어보겠습니다. test.txt 라는 파일 하나를 하둡 분산 저장소에 저장해보겠습니다. 하나의 네임노드와 세개의 데이터노드가 존재한다고 가정하겠습니다. 아래와 같은 방식으로 test.txt 파일이 hdfs 에 추가됩니다. hdfs dfs -put test.txt / 1. block size 가 128mb, file size 가 500mb 인 경우. 파일은 4개의 block 들로 나뉘어집니다. 500mb 파일이 block size 단위..
-
Hadoop fsimage 알아보기Hadoop 2023. 12. 11. 17:53
- 목차 소개. fsimage 는 네임노드가 파일들의 메타데이터를 저장하는 영역입니다. hdfs 를 통해서 파일이 생성될 때, 실질적인 파일은 block 단위로 DataNode 에 저장되게 되는데요. 해당하는 파일의 block 들을 편리하고 안정적으로 조회하기 위하여 파일의 메타데이터들이 fsimage 에 저장됩니다. fsimage 를 통해서 데이터의 영구성이 보장되구요. 네임노드의 in-memory 구조와 Edit Log 와 함께 네임노드의 데이터 관리를 위하여 사용됩니다. fsimage 는 이름에서 알 수 있듯이, File System 의 image 입니다. 네임스페이스로 관리되는 File System 안에서 데이터들을 스냅샷 형태로 관리하죠. 네임노드가 관리하는 대상이 파일의 메타데이터이기 때문에 ..
-
Helm 알아보기Kubernetes 2023. 12. 11. 17:25
- 목차 소개. Helm 은 쿠버네티스를 위한 패키지 매니저입니다. npm, pip 등의 패키지 매니저들이 이미 만들어진 라이브러리들을 추가/삭제할 수 있는 기능을 제공하듯이, Helm 은 미리 설정된 쿠버네티스 리소스들을 관리하는 패키지 매니저입니다. 굴직한 서비스들을 손쉽게 쿠버네티스 클러스터 내부에 디플로이할 수 있도록 설정되어 있구요. Kafka, Spark, Hadoop 등의 서비스를 간편하게 쿠버네티스에 적용할 수 있습니다. Helm 을 사용하기 위해서는 Chart, Values 등의 이해가 선행되어야 하며, 이어지는 글에서 Helm 의 구성요소들과 사용하는 방법에 대해서 설명해보도록 하겠습니다. Helm 으로 MySQL 생성하기.Helm 에 대해서 알아보기 이전에 이해를 돕고자 간단한 실습을..
-
Kubernetes Custom Resource 알아보기Kubernetes 2023. 12. 11. 17:25
- 목차 소개.쿠버네티스의 Custom Resource 에 대해서 알아보려고 합니다. 쿠버네티스는 자체적인 Resource 들을 가집니다. Pod, ReplicaSet, Deployment, Service, PersistentVolume 등이 있죠. 이러한 리소스들을 조합하여 하나의 큰 서비스가 구현됩니다. 예를 들어, Nginx 어플리케이션을 쿠버네티스 리소스들을 통해서 구현해보겠습니다. 먼저 Nginx 이미지가 필요하며, Nginx 이미지를 통해서 Pod 들을 생성합니다. 그리고 이러한 Pod 들을 묶는 ReplicaSet 또는 Deployment 가 필요합니다. 외부 네트워크 트래픽을 수용할 Service 와 Ingress 또한 필요하겠죠. 따라서 하나의 Deployment, Ingress, Ser..
-
Kubernetes Certificate 알아보기Kubernetes 2023. 12. 11. 06:59
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/411 CA (Certificate Authority) 알아보기 - 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/296 RSA 암호화 수학적 원리 이해하기 - 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/411 CA (Certificate Authority) 알아보기 - 목차 소개. CA 는 Cert westlife0615.tistory.com 소개. Kubernetes 의 인증 체계들 중에서 kubectl 과 Kubernetes Cluster 가 어떠한 인증 체계를 가지고 있는지 알아보려고 합니다. 기본적으로 CA 인증 체계를 따릅니..
-
Kafka Ksql 구현하기Kafka 2023. 12. 11. 06:58
- 목차 소개. Docker 를 활용하여 간단한 KSQL 을 구현해보도록 하겠습니다. KSQL 도커 이미지로 confluentinc/cp-ksqldb-server:7.4.3 를 사용할 예정입니다. https://hub.docker.com/r/confluentinc/cp-ksqldb-server/tags Docker hub.docker.com 1. kafka docker compose yaml 파일을 생성합니다. 먼저 docker-compose 설정을 해보겠습니다. docker-compose 의 구성요소는 아래와 같습니다. - kafka - zookeeper - kafdrop - ksql-server cat