DE

DE/LLM

[ERR] Conda environment is empty

🚫 [Error] Conda environment is emptyOobabooga의 text-generation-webui 설치 중 강제 종료가 되어 다시 ./start_linux.sh를 실행시켰지만 Conda environment is empty 에러가 발생하며 진행되지 않았다. ✅ 해결 방안이전 설치 파일을 삭제 후 재설치하면 된다.# 중단된 설치 파일 삭제rm -r -f /root/text-generation-webui/installer_files# 재설치./start_linux.sh

DE/LLM

[ERR] CUDA unknown error - CUDA_VISIBLE_DEVICES ~

🚫 ./start_linux.sh에서 CUDA unknown error가 발생할 때text-generation-web-ui를 사용하다가 gpu를 재부팅 했더니 갑자기 CUDA unknown error가 발생했다. 갑자기 되던 게 안 되어서 띠용? 했는데 쉽게 해결되었음UserWarning: CUDA initialization: CUDA unknown error - =this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. ✅ nvidia-uvm 모듈 재설치# 삭제sud..

DE/SQL

[PostgreSQL] Slow Query 조회, 취소

🍒 PostgreSQL 접속 계정에서 오래 걸리는 쿼리 조회 SQLSELECT current_timestamp - query_start AS runtime, datname, usename, pid, queryFROM pg_stat_activityWHERE state = 'active' AND current_timestamp - query_start > '1 sec'ORDER BY 1 DESC; ⛔ 쿼리 ID(PID)로 쿼리 중단 시키기--프로세스 ID값을 이용한 정지SELECT pg_cancel_backend('PID');--상위 프로세스 까지 정지SELECT pg_terminate_backend('PID') FROM pg_stat_activity; 위의 Slow Query 조회 SQL의 결과에서 PI..

DE/SQL

seq nextval

CREATE SEQUENCE seq_name OWNED BY table_name.seq_id;ALTER TABLE table_name ALTER COLUMN seq_id SET DEFAULT nextval('seq_name');UPDATE table_name SET seq_id = nextval('seq_name');

DE/SQL

[PostgreSQL] ctid로 중복 데이터 제거하기

🍒 PostgreSQL로 중복 데이터 제거하고 하나만 남기기 PK를 여러 개의 컬럼의 그룹으로 사용하고 있는 테이블에 데이터가 중복으로 적재되었다. 유일성이 엄격하게 지켜지지 않는 DB라 date_insert_dttm 컬럼을 제외하고 모든 컬럼의 값이 동일한 행이 2개씩 생긴 상태를 해결하기 위해 ctid를 사용해 DELETE를 시도했다. DELETE FROM my_table t1 USING my_table t2 WHERE t1.col1=t2.col1 and t1.col2=t2.col2 -- .. 모든 중복 컬럼(또는 PK 컬럼) 조건을 걸어줍니다. and t1.ctid

DE/BigQuery

[GCP BQ] 올림, 내림, 반올림

참고 : BigQuery의 수학함수 BigQuery에서 사용할 수 있는 함수들은 이미 정리가 잘 되어 있지만 자주 쓰는 올림, 내림, 반올림은 기억도 해둘 겸 따로 정리해둔다. 1️⃣ 올림(Ceil, Ceiling) -- 입력 받은 값보다 작지 않은 정수를 반환 -- ex. 2.0 -> 2.0, 3.5 -> 4.0, 6.1 -> 7.0 CEIL(X) CEILING(X) 2️⃣ 내림(Floor) -- 입력 받은 값보다 크지 않은 정수를 반환 -- ex. 2.0 -> 2.0, 3.5 -> 3.0, 6.1 -> 6.0 FLOOR(X) 3️⃣ 반올림(Round) -- 입력 받은 값과 가까운 정수를 반환 -- ex. 2.0 -> 2.0, 3.5 -> 4.0, 6.1 -> 6.0 ROUND(X) -- CAST ~ ..

DE/BigQuery

[GCP BQ] SPLIT을 이용한 쿼리 짜기

🙋‍♀️ 필요한 부분만 잘라서 집계해주세요! 👩‍💻 ... 네? 기본적으로 있는 데이터 그대로 가공하지 않고 집계하는 게 DW, DM이지만 일을 하다보면 이 원칙이 통하지 않을 때가 있다. 이번에도 그랬다. 상품 코드를 기준으로 TRANSACTION을 집계하는데, 해당 스키마에 아주 길고 긴 상품 설명 + 상품명 형태의 값이 들어오고 있었다. 정말 다행히 설명 + 띄어쓰기 + 상품코드의 일관성 있는 형태여서 SQL을 통해 원하는 값을 집계할 수 있었다. ✅ 빅쿼리에서 SPLIT 함수 써서 값 자르기 SPLIT('자를 STRING', '기준이 되는 문자') 사용법은 위와 같다. 예를 들어, SELECT SPLIT('이것은 상품설명 입니다 ABC12345', ' '); 위와 같이 쓰면 공백을 기준으로 3개로..

DE/BigQuery

[GCP BQ] Time Zone 적용하기

🕰 TIMESTAMP의 함정 전 세계 쇼핑몰 데이터를 수집하는 프로젝트를 진행하며 기묘한 상황과 마주쳤다. 분명 같은 테이블의 같은 PK를 가진 같은 데이터인데, 책임님이 조회하셨을 때와 내가 조회했을 때의 CREATED_AT 시간이 달랐던 것! 알고보니 책임님이 쓰시는 DBeaver와 내가 조회한 BigQuery의 Time Zone 설정이 달라서 TIMESTAMP 타입의 CREATED_AT도 각자의 시간대에 맞게 변환된 값이었다. 여러 시간대의 날짜, 시간 값을 사용하기 위해서는 TIMESTAMP 형에 원하는 Time Zone을 세팅해줘야 한다. ✅ BigQuery Time Zone 세팅 BigQuery에서는 다음과 같은 쿼리를 통해 Time Zone을 설정해줄 수 있다. SELECT CURRENT_D..

/* a piece of dev */
'DE' 카테고리의 글 목록