일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Dag
- airflow
- jmx-exporter
- RAG
- Streamlit
- ubuntu
- vectorDB
- dockercompose
- prometheus
- spark
- BigQuery
- amazonlinux
- Redshift
- MSA
- kafka
- SQL
- javascript
- airflow설치
- milvus
- grafana
- sparkstreaming
- hadoop
- metadabatase
- 설치
- 오블완
- docker
- Python
- aiagent
- pySpark
- 루프백주소
- Today
- Total
목록Data Engineering/DB (6)
데이터 노트
단순 계산이긴 한데, 자꾸 오류가 나서내가 기존 데이터를 잘못 묶었나..혹은 레드시프트는 연산할 때 뭐가 다른 건가 계속 찾아봤다. 복잡하게 데이터를 짠 것도 아닌데 시간이 걸려서 스트레스 였지만..^^원인은 실수인 결과값을 자동으로 정수 처리해 주는 것 때문에 원하는 결과가 나오지 않는 것이었다. -- 최종 연산을 위한 쿼리SELECT (sum(a) / count(b)) * 100 FROM ...sum(a)의 값은 14 , count(b)의 값은 205 였고,0.06829... * 100의 값이 6.829 ... 로 나와야하는데 계속 0이 출력됐다. ROUND 처리 다 해줬으나 그게 답이 아니었음 결과론적으론 실수형으로 변환해주고, ROUND로 원하는 자릿수까지 설정해서원하는 값을 얻었다.(ROUND ..
Redshift 상에 구축한 프로시저를 자동화하기 위해 Airflow에 DAG, Task를 생성하였으나,제대로 작동되지 않고 데이터가 들어가지 않았다. 그런데 Airflow 상에서는 제대로 task가 실행되었다고 뜨고,별도의 오류가 없어서 다같이 트러블슈팅을 하였다. 결과론적으로는 시간대 설정의 문제였다.airflow 상에서는 한국 시간대 KST로 설정하여 프로시저가 작동하도록 설정해두었는데,redshift 상에서는 프로시저에서 기간 값 설정을 위해 Declare 문에서 선언한 변수의 시간을 current_date로 설정한 것이 문제였다.-- 기존 프로시저 내 설정DECLARE date_from date:= (current_date -7)::date; date_to date:= (current_da..

Redshift는 Postgresql을 기반으로 하여 만들어진 데이터베이스라고 하지만,작업을 하다보면 일부 다른 부분들이 있다. Redshift에서는 기존에 이미 생성된 테이블의 컬럼의 경우,이름을 변경하거나 데이터타입을 변경하는 작업의 경우 불가하다. 그런데 오늘 작업 중 기존의 컬럼명을 변경해야하는 케이스가 있었는데,조금 번거롭지만 아래와 같이 진행하면 된다. 1. 변경하고자 하는 이름의 새로운 컬럼 추가.2. 기존 컬럼에서 새로 추가된 컬럼으로 데이터 복사.3. 기존 컬럼 삭제. 쿼리로 작성해보자.-- 1. 새로운 컬럼 추가ALTER TABLE [테이블명]ADD COLUMN [새로운 컬럼명] [데이터 타입];-- 2. 데이터 복사 UPDATE [테이블명]SET [새로운 컬럼명] = [기존 컬럼명];..
필요 사전 작업Bigquery 내에서 서비스 계정 생성 후, JSON 키 생성 및 다운로드 설치구글 클라우드 빅쿼리 클라이언트 설치pip install google-cloud-bigquery구글 시트 연동을 위한 라이브러리 설치pip install gspread oauth2client 코드Python과 BigQuery와 연동해서, 데이터 가져오기from google.cloud import bigqueryfrom google.oauth2 import service_accountKEY_PATH = "{서비스 계정 인증 정보가 담긴 JSON 파일 경로}"# Credentials 객체 생성credentials = service_account.Credentials.from_service_account_file(K..
에러 내용credentials = service_account.Credentials.from_service_account_file(KEY_PATH, scopes)TypeError: Credentials.from_service_account_file() takes 2 positional arguments but 3 were given 상황BigQuery까지만 연동 + scopes를 추가하지 않고 실행 했을 때는 문제가 없었는데,Google Sheet 추가 연결을 위해 scopes 작성이 필요해 작성하고 credential에 추가하였더니 오류가 발생. 해결 방안scopes와 key path를 분리하여 작성하는 형식으로 코드 수정credentials = service_account.Credentials.fro..