일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- airflow설치
- vectorDB
- prometheus
- dockercompose
- 오블완
- pySpark
- Redshift
- SQL
- 루프백주소
- amazonlinux
- grafana
- docker
- 설치
- RAG
- javascript
- Python
- sparkstreaming
- spark
- milvus
- aiagent
- airflow
- MSA
- BigQuery
- hadoop
- ubuntu
- metadabatase
- Dag
- kafka
- Streamlit
- jmx-exporter
- Today
- Total
목록전체 글 (36)
데이터 노트

개요Kafka 데이터를 모니터링 하기 위해, Exporter를 연결하여 Prometheus, Grafana 로 모니터링 대시보드를 구축하기 위해 테스트.Kafka Exporter, JMX Exporter 두 가지 수집기 중 JMX Exporter를 Prometheus와 연결하는 작업 시행착오 기록. 환경EC2 서버 내 DockerCompose를 통한 테스트.Kafka, Exporter, Prometheus, Grafana 하나의 서버 내에 같이 존재. 작업 내용Docker Compose Yaml 파일 생성services: grafana: image: "grafana/grafana:9.4.7" ports: - "13000:3000" environment: GF_SECU..
작업 배경작업 보고를 위해 얼마나 dag의 수행이 성공적이었고, 속도 면에서 개선이 있었는지 등 판단하기 위해 이력 조회가 필요한 상황이 발생했고, 그래서 작업을 하기 위해 알아보게 되었다. 작업Dag별 수행 시간import psycopg2from psycopg2.extras import RealDictCursorimport csv# PostgreSQL(메타데이터베이스)에 연결conn = psycopg2.connect( dbname="airflow", user="{계정명}", password="{계정 비밀번호}", host="{서비스명}", # Docker Compose에서 정의된 서비스 이름 port="5432")# 커서를 생성cur = conn.cursor(cursor_f..

문제 상황docker-compose.yml 파일을 생성했다.그리고 컨테이너를 올리는데 kafka 브로커 3개와 jmx-exporter 3개 다 안 올라왔다. 오류 찾기 & 해결 과정실패한 컨테이너 오류 확인먼저 브로커 컨테이너 로그를 확인했다.오류 내용 더보기===> Launching ... ===> Launching kafka ... Error: Could not find or load main class '-Xmx1G' Caused by: java.lang.ClassNotFoundException: '-Xmx1G'jmx-exporter 컨테이너 로그 확인.오류 내용 더보기Error: Could not find or load main class '-Xmx128m'오류 원인브로커 컨테이너 : KAFKA_..

사용할 Airflow 버전 : 2.6.0실행 환경 : Mac 설치1. docker-compose.yaml 파일 다운로드curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.6.0/docker-compose.yaml' 포함된 내용은 엄청 길어서 그 중 확인이 필요한 서비스 목록 및 내용만 확인해보았다.airflow-scheduler : 모든 task와 DAG를 모니터링airflow-webserver : 에어플로우 웹 서버. http://localhost:8080airflow-worker : 스케줄러로부터 부여된 테스크들을 실행하기 위한 워커airflow-init : 서비스 이니셜라이제이션postgres(DB) : 데이터 베이스redis : 스케줄러에서..
단순 계산이긴 한데, 자꾸 오류가 나서내가 기존 데이터를 잘못 묶었나..혹은 레드시프트는 연산할 때 뭐가 다른 건가 계속 찾아봤다. 복잡하게 데이터를 짠 것도 아닌데 시간이 걸려서 스트레스 였지만..^^원인은 실수인 결과값을 자동으로 정수 처리해 주는 것 때문에 원하는 결과가 나오지 않는 것이었다. -- 최종 연산을 위한 쿼리SELECT (sum(a) / count(b)) * 100 FROM ...sum(a)의 값은 14 , count(b)의 값은 205 였고,0.06829... * 100의 값이 6.829 ... 로 나와야하는데 계속 0이 출력됐다. ROUND 처리 다 해줬으나 그게 답이 아니었음 결과론적으론 실수형으로 변환해주고, ROUND로 원하는 자릿수까지 설정해서원하는 값을 얻었다.(ROUND ..
데이터를 이관하는 과정에서 프로시저를 자동화 했는데,로직이 잘못 되었었는지 같은 데이터가 중복으로 삽입되어 있었다. 이를 삭제하기 위한 쿼리를 기록해본다. 일반적으로 고유한 값을 가지는 id로만 데이터를 구분하여 삭제하는 쿼리 예시는 많이 있었는데,내가 겪은 케이스의 경우 id 값이 유일하지 않았다. 그래서 유일해야하는 id값과 컬럼 중 데이터 값이 유일하게 달랐던 데이터 삽입 시간 created_datetime을 기준으로 구분했다.DELETE FROM table1WHERE (id, created_datetime) IN ( SELECT id, created_datetime FROM ( SELECT id, created_datetime ,ROW_NUMBER() OVER (PART..