분류 전체보기
-
[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 (깊은 복사) 는 원본 객체의 레퍼런스를 유지하지 않고 오로지 값만을 복사하게 됩니다...
-
[Spark] Spark 로 Web File Reader 구현하기 ( SparkFiles )Spark 2024. 3. 18. 07:04
- 목차 들어가며.Spark 를 활용하여 http 프로토콜로 호스팅되는 웹 파일을 다운로드해야하는 경우가 존재합니다.일반적인 Spark 의 File Reader 를 통해서 웹파일을 다운로드하는 것을 불가능합니다.이 과정에서 SparkFiles 모듈을 사용하며, 이는 여러 이점이 존재합니다.첫번째 이점은 Spark Application 의 메모리보다 큰 용량의 파일을 손쉽게 읽어들일 수 있습니다.Http Streaming 방식으로 웹파일을 읽어들이는 수고로움을 덜 수 있습니다.두번째 이점은 기존의 Spark 프로그래밍 패턴을 사용할 수 있습니다.외부의 모듈을 활용하게 되면, 외부 모듈의 사용법에 따라 프로그래밍을 수행해야합니다.하지만 SparkFiles 는 Spark 의 내장 모듈로써 Spark 의 프로그..
-
[Pandas] DataFrame concat 알아보기Python 2024. 3. 9. 22:44
- 목차 키워드.concataxisignore_index 들어가며.Pandas 에서 여러개의 DataFrame 을 하나의 DataFrame 으로 병합하는 방법인 concat 함수이 대해서 알아보도록 하겠습니다.Pandas 의 다른 병합 기능인 merge 함수는 두개의 DataFrame 을 병합하는 Join Operation 을 수행합니다.반면, concat 함수는 두개 이상의 DataFrame 들을 하나의 거대한 DataFrame 으로 병합합니다.이는 Horizontal 또는 Vertical 한 두 방향으로 병합이 가능하며, Column 을 추가하거나 Row 를 추가하는 모든 병합을 제공합니다. 기본적인 동작.기본적인 동작은 아래와 같습니다.아래와 같이 두개의 DataFrame 을 생성하고, pd.con..