본문 바로가기
반응형

2020/0811

[airflow] DAG schedule_interval에 timezone 세팅 airflow 버전은 1.10.10 을 사용중이다. (현재 기준 최신버전은 1.10.12) 유지보수를 용이하게 하기 위해 execution_date에 어떻게든 timezone에 맞춰 설정하려 했는데 몇가지 방법을 써도 전혀 되지 않았다. 알고보니 스케쥴을 실행할 때 run_id라는게 있는데, 이게 execution_date 과 달리 움직이기 때문이었다.(내부 문제인듯 싶은데....) 그래서 결론만 말하자면 UTF 기준으로 설정해야 하고, timezone은 설정되지 않는다.(화면에서 보이는 것 등은 설정이 되는거 같더만...) 아래는 과정이다. 그럼 시작. 테스트를 위해 schedule_interval 설정을 새벽 1시로 설정했다. 그래야 timezone 설정 테스트에 부합하기 때문이다. 예를들어 9월 1.. 2020. 8. 31.
[airflow] Mysql 데이터를 GCS(Google Cloud Storage)로 저장하기(mysql_to_gcs, 한글깨짐, 날짜포멧 수정) Data lake 를 구축하기 위한 1단계인 원본데이터를 GCS로 이동하는 것을 다뤄보려 한다. embulk를 쓸까도 했었는데, JAVA 1.8 버전 이후부터는 지원을 안하기도 했고, 관리포인트를 늘리는 것도 좋아보이지 않아 찾아보다가 airflow에서 자체적으로 할 수 있는것을 확인해 이걸로 하기로 결정했다. 아래 github을 들어가면 mysql_to_gcs.py파일이 있는데, 이걸 이용하면 mysql에 질의한 쿼리대로 나온 결과를 GCS로 저장이 가능하다. https://github.com/apache/airflow/blob/1e79dae06e/airflow/contrib/operators/mysql_to_gcs.py apache/airflow Apache Airflow - A platform to.. 2020. 8. 27.
[aws,ses] SES(Simple Email Service)서비스로 메일전송하기(springboot) AccessToken을 이용해 전송할 것이기 때문에 IAM에서 계정에 따른 KEY를 받아두어야 한다. 해당계정에 다음 권한이 포함되어 있어야 한다. 그럼 이제 연동을 시작하자 # application.properties에 등록 및 AWS SES에 Email 인증하기 application.properties에 다음항목을 추가하자. # AWS SES(이메일) 액세스 Key aws.ses.credentials.access-key: [accessKey] aws.ses.credentials.secret-key: [secretKey] # AWS SES 인증 이메일이자 전송시 보낸이의 이메일이어야 함 aws.ses.veritied.email=[이메일 주소] 전송할 이메일을 등록할 경우, 사전에 확인된 메일만 등록할 .. 2020. 8. 27.
[intellij] 검색에 불필요한 것들 안나오게 폴더제외하기(react, next) react + next로 개발하다보니 실행을 위해 파일을 생성하는 것을 봤다. 문제는 필요한 문구를 검색하다보면 이것들이 같이나와서 정작 내가 수정해야하는 파일이 한참밑에 있는 것이다. 예를들어 다음과 같은 경우다. line 이라고 검색했는데 불필요한 파일이 대거 검색된 경우다. 다행히 검색할 때 특정폴더를 제외한 검색결과를 나오게 하는 방법이 있었다. Project Structure -> Modules 를 클릭한 뒤에 검색에 제외할 폴더를 마우스 우클릭한 다음 Excluded 를 클릭한다. 끝. 2020. 8. 25.
[springboot] Dynamodb, Local로 연결하여 연동테스트 및 기능살펴보기 이번글은 평소 자주 보는 창천항로님 글을 많이 참조했습니다. 늘 그렇지만 좋은글 많이 올려주시는 창천항로님에게 감사의 말씀드립니다. 참조사이트: https://jojoldu.tistory.com/484 [DynamoDB] Spring Data DynamoDB와 Embedded 개발 환경 구축하기 모든 코드는 Github에 있습니다. 이번 시간엔 로컬 개발 환경에서 DynamoDB를 Embedded로 활용하는 방법에 대해서 알아보겠습니다. 이미 도커를 적극적으로 테스트와 개발에 사용하고 계신 분들이라면 jojoldu.tistory.com 도커를 사용할 수도 있겠지만 도커없이도 DynamoDB Embedded를 통해 테스트가 가능하다. 만약 도커로 이미 DynamoDB 테스트 환경을 설정했다면 DynamoD.. 2020. 8. 22.
[react] hook 에서 componentDidMount, componentWillUnmount 기능 구현하기 react가 16.8 버전에서 hooks이 추가되면서 useEffect를 사용하면 라이프사이클의 다음을 대체한다. componentDidMount, componentDidUpdate, componentWillUnmount 그럼 다음 샘플을 보면서 간단히 알아보자 ... useEffect(() => { console.log("컴포넌트 시작") return () => { console.log("컴포넌트 종료 ") } }, []) ... 감지 부분을 빈상태([]) 로 두면 처음 componentDidMount와 비슷한 기능을 한다. 그래서 이 컴포넌트를 호출하면 로그를 다음과 같이 보여준다. return을 사용하면 componentWillUnmount 와 같은 기능을 한다 컴포넌트가 종료되면 설정한 로그를 표.. 2020. 8. 21.
반응형