Talend를 사용하여 Snowflake에서 데이터를 업데이트할 때 고려할 사항
Snowflak에서 당일 데이터를 교체하기 위해 CURRENT데이트(DATE)를 사용해 이날 데이터를 삭제했지만, 순조롭게 진행되고 제대로 진행되지 않는 경우도 있었다.Show parameters에서 현재 Timezone을 확인했습니다. Timezone의 초기값은 America/Los입니다.안젤레스가 됐어.이곳은 아시아/Tokyo로 변경돼 당일 날짜가 정확히 취득될 수 있음을 확인했다.
show parameters
Alter session set TIMEZONE = 'Asia/Tokyo'
그래도 Talend 날짜가 틀렸어요.
Snowflak 측면의 CURRENTDATE ()의 시간 오프셋은 해결되었지만 Talend에서 처리를 시작한 후에도 날짜가 틀렸습니다.내가 사용한 탤런드 버전(7.3.1)에서 도쿄 지역에서는 스노우플래크의 구성요소(2020년 7월까지)를 선택할 수 없어 미국 서부 지역을 사용했다.그래서 CURRENT.데이트()가 미국 서부 시간대라고 생각한다.
현재 다른 선택이 없기 때문에 일괄 처리 시간을 변경하여 16시까지 데이터 교체를 완료하기로 결정했습니다.(16시까지 CURRENT DATE()+1은 당일 데이터)
우리의 대처법 외에 또 다른 좋은 방법이 있다면 당신의 의견을 얻을 수 있다면 정말 좋겠습니다.
덤
현재 일본에서 얻은 함수의 차이
메인 시스템 DB에서 Oracle을 사용하고 그 외의 메인 데이터는 SQL 서버를 통해 데이터를 관리합니다.Snowflak은 이번에 DWH로 도입되었습니다.
(Snowflake를 선택하기 전의 기사는 별도로 기재됩니다)
갑골문, SQLserver, Snowflak에서 현재 일불로 얻은 함수가 다르다.
· 갑골문SYSDATE
・SQLserver GETDATE()
・Snowflak CURRENTDATE()
8자리 날짜 문자열로 처리할 때 다음과 같다.
갑골문TOCHAR(SYSDATE,'YYYYMMDD')
・SQLserver SUBSTRING(CONVERT(VARCHAR,GETDATE(),112),1,8)
・Snowflake TOCHAR(CURRENT_DATE(),'YYYYMMDD')
이상
Reference
이 문제에 관하여(Talend를 사용하여 Snowflake에서 데이터를 업데이트할 때 고려할 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rbrf7321/items/a8c359b496c6b80f82fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)