Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- sharonchoi
- 치앙마이
- 우한코로나
- 우한
- 우한코로나바이러스
- red hearse
- 창궐
- 정은경 본부장님
- wuhan
- Bolton
- 확진자수
- cnn
- 봉준호감독통역사
- 조현병
- 필리핀사망
- 진짜영웅
- 전염병
- 웨일즈
- parasite
- 어서와한국은처음이지
- 미중
- 우한 코로나
- 코로나바이러스
- 봉준호감독통역
- 중국외교부
- everybody wants you
- 최성재
- 신종코로나
- 코로나
- 코로나19
Archives
- Today
- Total
오지's blog
insert into select 시 특정 컬럼만 제외하고 SELECT하는 방법 - SNOWFLAKE 본문
728x90
반응형
airflow의 배치를 통해 매일 쿼리를 수행하고 있다.
이때 insert into select 쿼리를 이용하여 매일매일 이력을 남기는데, select할때 load_dttm까지 가져오지만 실제적으로 쿼리 수행시간이 아닌 어제 쿼리 수행시간이 load_dttm값으로 insert되어 결과적으로 적재일시로서는 올바르지 않은 값이 들어갔었다.
insert_into_select_query = f"""
INSERT INTO {database_name}.{schema_name}.O_{table_name}_HIS
SELECT REPLACE(CURRENT_DATE(), '-') AS BASE_DD, * EXCLUDE LOAD_DTTM, CURRENT_TIMESTAMP()::timestamp_ntz
FROM {database_name}.{schema_name}.O_OCL_{table_name};
"""
- 배치가 돌아가는 파이썬 코드의 일부
INSERT INTO A_WDB.ODS.O_ITEM_M_HIS
SELECT REPLACE(CURRENT_DATE(), '-') AS BASE_DD, * EXCLUDE LOAD_DTTM, CURRENT_TIMESTAMP()::timestamp_ntz
FROM A_WDB.ODS.O_ITEM_M;
- 파이썬 코드에 의해 수행되는 snowflake 쿼리
다음과 같이 *(스타) exclude 연산을 이용해 특정 컬럼을 제외한 나머지 컬럼을 모두 가져올수 있었고 위 쿼리를 통해 적재일시빼고 select하고 실제적으로 쿼리 수행시간에 맞는 적재일시가 insert된다. 사소한 것이지만 튼튼한 시스템을 위해서 꼼꼼함이 필요하다.
'개발노트 > 데이터베이스' 카테고리의 다른 글
airflow에서 select값을 가져오는 방법 (0) | 2023.04.18 |
---|---|
DELETE시 의문의 에러 메세지 (0) | 2023.04.11 |
snowflake에서 select시 where절의 서브 쿼리 between이용 하여 정제 (0) | 2023.03.16 |
snowflake에서 AWS s3접근하는 2가지 방법정리 (0) | 2022.09.01 |
m1 맥북에서 pymssql설치 방법 (0) | 2022.08.18 |
Comments