전체 글 65

python - pandas apply를 사용한 데이터 수정 with lambda

pandas를 사용해서 데이터를 다룰 때 구성된 데이터의 하나의 컬럼 데이터를 통째로 연산해야 하거나 변환해야하는 경우가 생기게 됩니다. 이때 사용하면 유용한 pandas 함수 apply를 알아봅시다 우선 데이터를 생성해 볼까요? 데이터 셋 생성 import pandas as pd # 예제 데이터프레임 생성 data = { '이름': ['홍길동', '이순신', '박보영'], '나이': [25, 40, 33], '부모의 나이 평균': [55, 62, 63], '도시': ['서울', '부산', '대구'] } df = pd.DataFrame(data) 다음과 같은 테이블을 생성 했습니다. 여기서 처음 시도해 볼 것은 이 유저의 나이를 1씩 더하는 작업을 진행하게 될겁니다 단일 Column 수정 - 유저의 나이..

Python 2024.03.12

[GPT]GPT-3.5 Turbo Fine Tuning 시켜보기

얼마전 Open AI의 API를 활용하여 간단한 체팅을 구현해보는 글을 올렸었는데요 이번에는 그 GPT모델을 내가 직접 Fine Tuning해보도록 하겠습니다. 먼저 GPT의 Fine Tuning은 다음과 같을 때 하게됩니다. Introduction Fine-tuning lets you get more out of the models available through the API by providing: Higher quality results than prompting Ability to train on more examples than can fit in a prompt Token savings due to shorter prompts Lower latency requests OpenAI's text..

DL 2024.03.09

[AWS Redshift] FULL JOIN과 COALESCE

오늘은 full join과 coalesce를 같이 활용해보았는데 이것을 한번 정리해 보려고 합니다. 1. full join 두개의 테이블의 모든 공통 요소를 결합하는 join형태로서 둘중 하나라도 값을 가지고 있다면 병합됩니다.(합집합) 2. coalesce 주로 사용되는 목적은 NULL처리 입니다. NULL인경우 어떤값으로 변경하도록 하는데 많이 사용합니다. 그럼 이둘을 합쳐서 사용해보면 어떤 효과가 발생할까요?? SELECT COALESCE(dt.id, dt2.id) AS id, COALESCE(dt.create_date, dt2.create_date) AS create_date, (COALESCE(dt.driving_sec, 0) + COALESCE(dt2.cancel_driving_sec, 0))..

RDBMS 2024.03.08

[helm] helm chart를 사용하여 install한 apache superset Version Upgrade

이번에 회사에서 사용하는 Apache Superset의 버전을 업그레이드 하자는 내부적인 이야기를 하게되면서 해본 경험을 정리하게 됐습니다. 우선 현재 상황을 간략하게 목록화 해보자면 1. BI/운영 Dash Board로 사용하고 있는 Apache Superset의 현재 버전은 2.1 버전으로 Chart Version은 0.9.7 버전이다. 2. 인프라 이전을 준비하고 있고 인프라 이전을 할 때 Superset의 버전을 최신 Stable version으로 바꿔보자 만약 변경하게되면 발생하는 장단점은? 장점 1. apache Superset을 최신 Stable version으로 변경하면 pandas의 버전이 기존 1.x 에서 2.x로 변경되어 속도적 측면에서 강점이 생긴다. 2. 새로 생긴 차트를 활용할 ..

Kubernetes 2024.03.02

[GPT]GPT API를 사용하여 간단한 쳇 시스템 만들어보기

최근들어서 GPT를 활용하여 할 수 있는 일들이 늘어나고 있습니다. 가령 내가 코드를 작성하더라도, 디버깅에 어려움을 겪고 있는경우에도, 작성한 쿼리가 정말 최적화가 돼 있는지 등 다양한 방면에서 개발에 도움을 주고 있다보니 문득 궁금해져서 API를 사용하여 어떻게 동작하는지 알아보고자 합니다. API에 대한 자세한 내용은 Open AI에서 제공하는 페이지를 확인하시기 바랍니다. 가령 API키 발급같은 것이요. https://platform.openai.com/signup 먼저 저는 Python 3.11버전을 사용했습니다. 1. Python Library install pip install --upgrade openai 2. 간단한 코드 작성 from openai import OpenAI import r..

DL 2024.03.01

Linux - Base 64 encoding/decoding

K8s를 활용하다 보면 Secrets를 배포할 일이 생기는데 내부에 데이터를 Base64로 넣어줘야 합니다. ex) apiVersion: v1 kind: Secret metadata: name: aws-login type: Opaque data: id: QdasdqwdfQWEDASDVQU0ZasTsQ= passwd: aj123adsQADQWCASD123ASDDVRpa3lUQg== 이 base64 문자열은 간단하게 Linux 혹은 맥 위에서 제작이 가능합니다. # encoding echo aws-login-ids | base64 # decoding echo YXdzLWxvZ2luLWlkcwo= | base64 --decode 이상입니다.

Linux 2023.06.02

DataPipeline - Kafka Connector를 이용한 CDC Pipeline

우선 CDC 파이프라인이 무엇을 의미하는지 알아봅시다! Caht GPT를 활용해서 내용을 한번 적어보았습니다. CDC (Change Data Capture) 파이프라인은 데이터베이스 시스템에서 변경된 데이터를 실시간으로 감지하고 캡처하여 다른 시스템으로 전달하는 과정을 자동화하는 방법입니다. 1. 로그 모니터링: 데이터베이스 시스템의 로그를 모니터링하여 변경 사항을 감지합니다. 로그에는 데이터베이스에 수행된 삽입, 업데이트, 삭제 등의 작업이 기록됩니다. 2. 변경 사항 캡처: 모니터링된 로그에서 변경 사항을 식별하고 캡처합니다. 이 단계에서 변경된 데이터의 내용과 유형에 따라 필요한 처리가 수행될 수 있습니다. 3. 변경 데이터 저장: 캡처된 변경 데이터는 일시적으로 저장되거나, 대규모 시스템에서는 분..

DataPipeline 2023.05.28

kafka - Debezium kafka Connector K8s에 설치 및 확인

오늘은 Kafka Connector 중 하나인 Debezium Kafka Connector를 한번 설치해보고 어디에다 써먹는지 알아보겠습니다. 우선 Kafka Connector는 크게 두종류로 나눕니다. 1. Kafka Source Connector Source 즉 원본 데이터가 있을때 해당 데이터를 kafka로 전송해 주는 역할을 합니다. ex) DB Souce Connector : DB의 변경사항을 Catch 하여 Kafka로 변경사항을 Message로 전송합니다. 2. Kafka Sync Connector Kafka에 있는 데이터를 어딘가에 전송하거나 실시간으로 가공하여 전송하는 기능을 합니다. ex) S3 Sync Connector : Kafka의 특정 Topic을 구독하여 메세지를 micro B..

kafka 2023.05.27

Kafka - UI (UI for Apache Kafka) K8s에 설치

우리가 Kafka를 사용할 때 CLI를 사용해서 Topic을 컨트롤 하거나 아니면 상태를 보거나 하는일을 하게되는데 이게 생각보다 많이 불편함을 느낄 수 있습니다. 회사에서 운영하고 있는 카프카 클러스터를 관리하는데 많이 유용하게 사용되고 있어서 한번 소개 해 봅니다. 우선 우리 회사는 kafka를 k8s위에서 관리하고 있고, 그렇기 때문에 이번에 Kafka UI를 올리는 과정을 소개함에 있어서 Yaml파일을 작성할겁니다. 준비물이 있습니다. 1. 운영중 혹은 개발용인 카프카가 있어야 합니다. 2. K8s가 있어야 합니다. 3. 개발 환경에 kubectl과 같은 k8s CLI Tool이 있어야 합니다. 첫번째 Kafka UI는 어떤걸 사용하는가 이 툴에 대해서 다른 툴과 비교한 내용이 있는데 참고 해보기..

kafka 2023.05.25