AI & Data
Flink Kubernetes Operator Concept
오늘은 Flink를 Kubernetes에서 사용하는 방법 중 Kubernetes Operator를 사용하는 방법에 대해 알아보고자 한다. Kubernetes Operator란 공식 문서에 나와 있는 것처럼 custom resource를 사용하여 애플리케이션이나 컴포넌트의 lifecycle을 관리하는 역할을 하는 software extensions이다. Apache 재단에 있는 Flink Kubernetes Operator를 사용하게 되면 JobManager와 TaskManager를 손쉽게 사용할 수 있으며 해당 Operator가 관리하는 CRD(custom resource definition)을 가지고 애플리케이션을 배포할 수 있다. 목차 Flink Kubernetes Operator 소개 Archite..
Apache Flink에 대해..
이번에는 회사에서 Flink를 구축하고 있어서 정리했던 내용을 조금씩 다시 블로그에 정리해보면서 공부하려고 합니다!! 그리고 슬프게도 한국에는 Flink에 대한 자료가 그렇게 많이 없더라구요.. 저 뿐만 아니라 많은 분들이 공유를 했으면 좋겠네요 ㅎㅎ Apache Flink는 Bounded나 Unbounded stream data를 처리하기 위한 상태 기반의 오픈 소스 분산 엔진입니다. 여기서 stream은 물 흐르듯 데이터가 흘러가기 의미를 가지고 있고 실시간 데이터 처리에서는 계속해서 데이터가 들어오기 때문에 stream이라는 단어를 쓰고 있다고 합니다! stream 데이터를 처리하는 데이터 처리 엔진으로 Flink 이외에도 Spark 같은 것도 있고 Kafka Streams으로도 실시간 데이터 처리..
비지도 학습
비지도 학습 정답이 주어지지 않는 데이터 내에서 숨겨진 구조를 파악, 크게 클러스터링과 차원 축소 기법으로 나뉨 클러스터링: 각 개체의 그룹 정보(정답) 없이 유사한 특성을 가진 개체끼리 군집화하는 것 클러스터링 종류 Hard Clustering - 특정 개체가 집단에 포함되는지 여부(교집합이 없음을 의미) 클러스터에 속한다(1), 속하지 않는다(0)으로 표현 - K-means Clustering 알고리즘이 이에 해당 2. Soft Clustering - 특정 개체가 집단에 얼마나 포함되는지 정도로 클러스터에 속하는 정도로 표현 - Gaussian Mixture Model 알고리즘이 이에 해당 클러시터링 목표 군집 간 유사성 최소화 군집 내 유사성 최대화 차원 축소 : 고차원 데이터의 차원을 축소하여 데..
Matplotlib 기초 학습 내용
from elice_utils import EliceUtils import numpy as np import pandas as pd import matplotlib.pyplot as plt elice_utils = EliceUtils() fig, ax = plt.subplots() x = np.arange(15) y = x **2 ax.plot( x,y, linestyle=":", marker="*", color="#524FA1" ) # :는 점선 표시 -는 직선 --는 dashed -.는 dashdot # 색깔은 r 도는 red 또는 16진수로 가능 # marker는 .이랑 o , v , s, *이 있음 #축 경계 조정 x = np.linspace(0,10,1000) #순서대로 start,end,ste..
머신러닝 기초 학습 내용
머신러닝은 빅 데이터를 분석할 수 있는 강력한 툴, 기존 통계학 및 시각화 방법의 한계를 해결 (예측, 패턴 파악, 추천 시스템) 머신러닝이란 명시적으로 프로그래밍을 하지 않고도 컴퓨터가 학습할 수 있는 능력을 갖게 하는 것 머신러닝은 지도학습, 비지도학습, 강화학습으로 구분 지도학습은 회귀분석(Regression), 분류(Classification)으로 구분 지도학습 vs 비지도학습 예측해야 할 결과에 대한 정답 데이터가 있는지 확인 있으면 지도 없으면 비지도학습 강화학습 같은 경우 학습할 데이터가 필요없음 -> 기계가 스스로 학습할 데이터를 만들고 그 데이터를 바탕으로 학습 지도학습을 구현하기 위해서는 1) 데이터에 대한 이해 2) 머신러닝에 사용하기 위한 데이터 처리법 3) 지도학습 방법 - 회귀 ..
pandas 기초 학습 내용
#Series 데이터: numpy의 array가 보강된 형태로 data,index를 가짐 import pandas as pd data = pd.Series([1,2,3,4]) data.values 가 numpy의 arr와 동일 #- 인덱스를 지정할 수 있고 인덱스로 접근 가능 data = pd.Series([1,2,3,4], index=[‘a’,‘b’,‘c’,‘d’]) # data[‘c’]=3 #Dictionary를 활용하여 Series 생성 가능 population_dict={ ‘china’:141500, ‘korea’ : 5180, ‘usa’:32676 } population = pd.Series(population_dict) # key값이 index가 되고 value값이 data가 됨 #Datafr..
numpy 기초 내용 학습
import numpy as np array=np.array(range(5)) # array=[0 1 2 3 4] #공백으로 이루어짐 array=np.array(range(5), dtype=float) #array=[0. 1. 2. 3. 4.] #array는 단일 데이터, 하나의 타입으로만 이루어짐 array.astype(int) #type을 바꿀 수 있음 #dtype은 int, float, str, bool이 있음 # ndarray의 차원 관련 속성 : ndim(n+dimensial) % shape list=[[0,1,2],[3,4,5]] arr = np.array(list) print(arr.ndim) # 2 print(arr.shape) # (2,3) #shape 조절은 arr.shape = 3,2..