분류 전체보기(31)
-
Airflow cli로 데이터 백필하기(위해서 삽질한 과정들)
정확히는 Airflow cli로 특정 task만 백필하기가 제목이다. 우리 팀은 Airflow로 대부분의 batch job을 스케줄링 하고있다. 매일 새벽에 수십 수백건의 테이블들이 전날 들어온 데이터들을 적재한다. 소스로부터 오는 데이터도 있지만, 데이터 사이언티스트분들이 구현하고 관리하는 mart들도 새벽 배치에서 적재되는데, 이 mart 테이블의 스키마가 변경되거나 쿼리 로직이 변경되는 일이 꽤 자주 있다. 그럴 때 해줘야하는 일은 1. catalog schema 변경 2. data backfill이다. 그 중 2번은 나같은 데이터 엔지니어의 역할인 경우가 많다. 우선, Airflow자체에서 backfill용 cli를 제공한다. https://airflow.apache.org/docs/apache-..
2023.11.22 -
<무신론자를 위한 종교> 알랭 드 보통
"이 책은 기적, 영(靈), 또는 불타는 덤불 같은 이야기를 믿을 수 없어 하는 사람들을 위한 것이다" 아, 제목부터 흥미롭다. 어딘가 중립기어를 세게 박고 읽기 시작해야 할 것만 같은 책 제목이란 말이다. 아니나 다를까 알랭 드 보통은 무신론자임에도 불구하고 뇌에 힘을 세게 주고 중립기어를 박았다. 어느 진영에도 편중되어 있지 않은 채 이성적으로 종교를 해석한다. 알랭 드 보통의 책은 거의 다 읽은 것 같다. 보통의 책은 어려운 단어를 많이 쓰지 않고, 문장의 개연성이 좋아서 술술 읽히는 편이라 좋아한다. 다만, 이 책은 보통의 책이라서 읽은 건 아니었다. 아는 사람에게 추천을 받았는데, 집에 와서 찾아보니 보통의 책이었던 것. 사랑이야기만 쓰는 아저씬줄 알았는데 말이다. 나는 무신론자다. 종교를 미워..
2023.09.29 -
성찰
요즘 많이 하는 생각 크롬 브라우저는 오래 켜두면 입력이 밀린다 가끔 꺼줘야 됨 좋은 사람이 되자 좋은 사람이란 무엇인가? 내가 생각하는 좋은 사람이란 마음이 평온한 사람이다. 무언가를 말하려는 사람보다 그 말을 할 이유가 없다는 것을 아는 사람이다. 자유란 내 마음대로 하는 것이 아닌, 그 행동을 굳이 할 필요가 없다는 걸 아는 것이다. 윤리란 윤리가 무엇인지 끊임없이 질문하는 행위인 것 처럼 말이다. 자유는 '마음대로'가 아닌, '놓아줌'으로 부터 오는 여유다. 또한, 자신의 상처로 타인을 투영하지 않는 사람이다. 사람은 누구나 상처가 있고 대부분은 타인으로부터 상처를 받으며, 그렇기에, 모순적으로 타인으로부터 상처를 치유받으려한다. 그 과정에서 상대에게 같은 상처를 주기도 한다. 단단한 사람은 타인..
2022.05.12 -
mac에 하둡(3.3.0) 설치하기
환경 - macOS Big Sur (버전 11.2.2) - Hadoop 3.3.0 Home brew로 설치하는 방법 포스팅하겠습니다. 맥 터미널을 열고 $ brew install hadoop # 설치 경로 # 3.x.x 부분은 설치하신 버전에 맞게 자동으로 경로 생성 됨 /usr/local/Celler/hadoop/3.x.x/libexec 설치가 완료 됐으면 몇 가지 세팅을 추가해준다. 1. hadoop-env.sh 세팅 $ cd /usr/local/Celler/hadoop/3.x.x/libexec/etc/hadoop $ vim hadoop-env.sh 해당 파일을 열면 주석처리 된 글들이 나올 것이다. 맨 아랫줄에 다음을 추가해주자. export HADOOP_OPTS="-Djava.net.preferI..
2021.06.06 -
HTTP protocol 쿠키와 세션
HTTP protocol 쿠키, 세션 HTTP 프로토콜.. 기본적으로 웹서버와 클라이언트가 통신을 할 때 마다 서버는 클라이언트가 누구인지 계속 인증하는 과정이 필요하다. 그 이유는 HTTP 프로토콜이 connectionless, stateless한 특성이 있기 때문이다. Connectionless : 클라이언트가 요청을 한 후 응답을 받으면 연결을 끊어버리는 특성 Stateless: 통신이 끝나면 상태를 유지하지 않는 특성 이 때 인증과정에서 사용되는 것이 쿠키와 세션이다. 예컨데, 쿠키와 세션이 없으면 우리는 페이지를 이동할 때 마다 계속해서 로그인을 해야 할 것이다. 서버가 클라이언트를 기억하지 못하기 때문이다. Cookie 쿠키는 서버에서 클라이언트에게 저장하도록 시키는 정보다. 보통 클라이언트..
2021.05.06 -
Spring Boot와 sqlite3 연동, JPA, Hibernate, SQLDialect
Spring Boot와 sqlite3 연동하기 Code: https://github.com/C-YooJin/lite (해당 게시물은 깃허브 코드를 참고하면서 보는 것을 권장합니다.) 1. Spring Boot 프로젝트를 생성한다. 나는 보통 빌드 툴로 maven을 사용하기 때문에 pom에 Spring web, Spring Data JPA, sqlite 디펜던시를 추가해주자. org.xerial sqlite-jdbc 3.21.0.1 2. SQLDialect를 설정해준다. JPA로 어플리케이션을 개발하게 되면 개발자가 직접 JDBC 레벨에서 SQL문을 작성하는게 아니고 JPA가 이를 대신해주게 되는데 그 때 필요한게 Dialect다. SQLDialect는 데이터베이스간의 SQL문법 차이를 보정해주기 위해 J..
2021.05.04