전체 글
-
[scikit-learn] LabelEncoder 알아보기AI-ML 2024. 3. 29. 06:50
- 목차 키워드.CategoricalOrdinalEncoderLabelfitinverse_transform 들어가며.이번 글에서는 scikit-learn 의 LabelEncoder 에 대해서 알아보도록 하겠습니다.LabelEncoder 는 Categorical Data 를 수치화하는데에 활용됩니다.예를 들어, True 또는 False 값을 가지는 Boolean Data 는 1 또는 0 으로 표현될 수 있습니다.또한 "매우 아니다", "아니다", "조금 아니다", "적당하다", "조금 그렇다", "그렇다", "매우 그렇다" 와 같이 7가지의 상태를 가지는 설문 조사를 가정할 때, 7단계의 상태를 1 부터 7 까지의 수치로 표현할 수 있습니다.그 외, ["남성", "여성"] 과 같은 성별 데이터나 ["서울시..
-
[Flink] Checkpoint Alignment 알아보기Flink 2024. 3. 28. 06:39
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/572 Flink Checkpoint 알아보기 - 목차 들어가며. Flink 의 Checkpoint 는 Flink Data Stream 이 어떻게 처리되고 있는지에 대한 상태를 저장하는 스냅샷입니다. Mapper, Filter, Window Operator 등이 끊임없이 흘러가는 Event 들을 처리합니다. Filte westlife0615.tistory.com 들어가며. 이번 글에서는 Checkpoint Alignment 에 대해서 알아보려고 합니다. Checkpoint Alignment 를 이해하기 이전에 Checkpoint Barrier 그리고 Checkpoint 가 수행되는 방법에 대해서 먼저 알아보겠습니다...
-
[MySQL] foreign_key_checks 알아보기Database/MySQL 2024. 3. 26. 07:29
- 목차 들어가며. 이번 글에서는 MySQL 의 테이블 간 외래키 제약 (Foreign Key Constraints) 을 On/Off 할 수 있는 설정인 foreign_key_checks 에 대해서 알아보려고 합니다. On and Off foreign_key_checks. MySQL 실행하기. 먼저 실습을 위해서 도커를 활용한 MySQL 서버를 실행시켜보겠습니다. docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:8.0.23 그리고 Foreign Key 관계의 테이블 2개를 생성해보겠습니다. docker exec -it mysql mysql -uroot -p1234 create database test; use test; ..
-
[Flink] Operator Chaining 알아보기Flink 2024. 3. 25. 06:07
- 목차 들어가며. 이번 글에서는 Flink Operator Chaining 에 대해서 알아보려고 합니다. Flink 는 여러 Operator 들을 조합하여 데이터 처리 어플리케이션을 구성합니다. Flink Operator 의 예로 Filter, Map, Window, Join 등의 여러 Operator 들이 존재하며, 이들이 연결되어 하나의 어플리케이션을 만듭니다. 아래의 예시처럼 말이죠. Map -> Map -> Sink 로 구성된 Flink DataStream 의 그래프 > Operator Chaining 은 여러 Operator 들을 하나의 Task 로 묶는 기법을 의미합니다. 아래 예시는 Source -> Map1 을 하나의 Task 로 묶고, Map2 -> Sink 를 하..
-
[Parquet] Dictionary Encoding 알아보기BigData/Parquet 2024. 3. 24. 10:26
- 목차 들어가며. 이번 글에서는 Parquet 의 Dictionary Encoding 에 대해서 알아보려고 합니다. Dictionary Encoding 은 큰 길이의 String 을 Number 와 같은 숫자로 표현할 수 있는 방식입니다. 예를 들어, "Python", "Java" "Golang" 과 같인 3개의 텍스트를 Unicode 로써 표현하게 되면 문자의 길이만큼 4byte * length 의 용량을 차지하게 되겠죠 ? 하지만 이를 나열 순서에 따라 0, 1, 2 로 표현하게 되면 데이터의 압축이 가능해집니다. 이러한 방식으로 문자열을 bit 레벨로 압축시켜 표현하는 방식을 Dictionary Encoding 이라고 부릅니다. Encoding ? 인코딩이란 원본 데이터를 변형하는 것을 의미합니다..
-
[Pandas] Correlation 알아보기 ( DataFrame corr )AI-ML 2024. 3. 24. 10:26
- 목차 키워드.Correlation. 들어가며.이번 글에서는 Pandas 의 Correlation 을 계산할 수 있는 corr 함수에 대해서 알아보도록 하겠습니다.Correlation 은 두 Feature 의 상관관계를 -1 부터 1 까지의 값으로 표현합니다.예를 들어, Correlation 을 통해서 키와 몸무게의 상관관계를 표현할 수 있는데요.일반적으로 큰 키에 비례해서 몸무게가 증가하는 경향을 보입니다. 위와 같은 키와 몸무게와 같이 서로의 값이 증가하는 상관관계를 가지면 이들의 상관관계를 양의 값을 가집니다.height 와 weight 는 서로 0.73 의 상관관계를 가집니다. 이처럼 Regression 문제에 접근할 때에 Correlation 을 유용하게 사용됩니다. 아래의 Dataset..
-
[Flink] Async IO Retry Strategy 알아보기Flink 2024. 3. 23. 10:50
- 목차 들어가며. 이번 글은 Flink Async IO 의 Retry Strategy 에 대해서 알아보려고 합니다. 이전에 작성하였던 https://westlife0615.tistory.com/781 글과 이어지는 내용입니다. [Flink] Async IO 알아보기 ( AsyncDataStream ) - 목차 들어가며. 이번 글에서는 Flink DataStream API 의 Async IO 에 대해서 알아보도록 하겠습니다. Async IO 는 Flink DataStream API 에서 제공하는 비동기처리를 위한 기술입니다. Java 가 기본적으로 제공하 westlife0615.tistory.com Async IO 는 네트워크 통신을 수행하는 Task 를 효율적으로 수행하기 위해서 주로 사용됩니다. 네트..
-
[Flink] Async IO 알아보기 ( AsyncDataStream )Flink 2024. 3. 23. 06:48
- 목차 들어가며. 이번 글에서는 Flink DataStream API 의 Async IO 에 대해서 알아보도록 하겠습니다. Async IO 는 Flink DataStream API 에서 제공하는 비동기처리를 위한 기술입니다. Java 가 기본적으로 제공하는 Future 모듈과 그 형식은 유사합니다. 그렇기 때문에 N 개의 Input 을 동시에 처리할 수 있습니다. Map, FlatMap 같은 Stateless Operator 는 event by event 형식으로 동기적인 순서로 데이터를 처리하는 반면, Async IO 를 통하여 1개 이상의 데이터를 효율적으로 처리할 수 있게 됩니다. 이 이미지처럼 Async IO 를 사용하게 되면 Async IO Operator 인 AsyncDataStream 은 ..
-
[Nginx] Web Content Serving 알아보기 ( default.conf )Nginx 2024. 3. 18. 07:05
- 목차 들어가며.이번 글에서는 Nginx 를 활용하여 웹 서버를 구성하는 방법에 대해서 알아보도록 하겠습니다.xml, csv, 이미지 파일 등 여러가지 웹파일을 서빙하는 웹서버를 Nginx 로 구성할 수 있습니다.Nginx 로 웹서버를 구성하기 위해서 Nginx 의 설정 파일을 수정해야하는데요.default.conf 파일을 통해서 Nginx 웹서버 구성 방법에 대해서 알아보도록 하겠습니다. Directive.server block.Nginx 의 default.conf 파일은 일반적으로 아래와 같이 구성됩니다.server Block 은 Nginx 웹서버를 구성하기 위한 하위 디렉티브들을 포함하는 블록입니다.server { listen 80; server_name _; loca..
-
[Numpy] copy & view 알아보기 (Shallow, Deep Copy)Python 2024. 3. 18. 07:05
- 목차 키워드.Shallow & Deep Copy. Copy & View.Numpy 의 ndarray 는 copy 와 view 라는 함수를 제공합니다.Numpy 의 copy 와 view 함수는 ndarray 를 복사하는 기능을 수행하는데요.copy 는 Deep Copy , view 는 Shallow Copy 기능을 제공합니다. Shallow Copy.프로그래밍에서 Copy 는 Shallow 와 Deep Copy 로 나뉘어집니다.각 Copy 는 우리말로 얕은 복사와 깊은 복사라고 하는데요.Shallow Copy (얕은 복사) 로 복사된 데이터는 메모리에 상주하는 원본 객체의 레퍼런스를 유지합니다.반면 Deep Copy (깊은 복사) 는 원본 객체의 레퍼런스를 유지하지 않고 오로지 값만을 복사하게 됩니다...