결론 미리보기docker build 할 때 max depth exceeded 가 발생한다면 실행중인 컨테이너를 종료하고 관련된 내용을 모두 삭제한 후 다시 빌드하면 정상적으로 빌드가 된다. 에러 원인 분석하기docker compose 를 사용해서 ariflow 를 build 하려다가 에러가 발생했다.$ docker compose build[+] Building 0.1s (9/9) FINISHED ..
벌써 한 달이라는 시간이 흘렀다. 그동안 일정이 너무 바빠 정리를 못하고 있다가 오늘에서야 3.0 버전의 중요한 변화들에 대한 정리를 마무리해보려고 한다. Airflow 3.0 버전 문서를 다시 첨부해두었다. Release Notes — Airflow 3.1.2 Documentation airflow.apache.org 업데이트된 스케줄링 기본값 (Updated Scheduling Default)airflow 3.0 버전에서는 구성파일에 catchup_by_default = False 설정을 통해 새로운 DAG 의 기본 동작을 변경할 수 있다고 한다.이것은 catchup = ... 설정을 명시하지 않은 DAG 는 더 이상 기본적으로 누락된 간격의 백필을 지원하지 않는다는 것을 말한다.이 변화는 새로운 유..
지난 번에는 Airflow 3.0 버전으로 업데이트되면서 바뀐 부분에 대한 하이라이트만 다루었었다.이번에는 Airflow 가 3.0 버전으로 업데이트 되면서 정말 많은 변화가 있는 것으로 보았는데 어떤 중요한 변화가 있었는지 하나씩 살펴보려고 한다. 아래의 문서에서 확인할 수 있다. Release Notes — Airflow 3.1.0 Documentation airflow.apache.org Task Execution API & Task SDK (AIP-72) AIP-72 Task Execution Interface aka Task SDK - Airflow - Apache Software Foundation페이지 Airflow Home Airflow Improvement Proposals Ash Ber..
최근에 알게 되었는데 airflow 가 2.0 버전에서 3.0 버전으로 업데이트가 되었다는 것이다.Airflow release note 를 확인해보니 올해 4월에 3.0 버전이 나온 것으로 보였다.2.0 버전이 나온 것은 2020 년 12월로 알고 있으니까 대략 4년 조금 더 걸린 것 같다. Release Notes — Airflow 3.1.0 Documentation airflow.apache.org 그래서 릴리즈 노트를 보면서 기존에 사용하고 있던 airflow 2.0 버전에서 3.0 버전으로 업데이트 되면서 어떤 부분들이 달라졌고 업데이트하는 과정에서 어떤 부분들을 비교하고 살펴보면 좋은지 정리해보려고 한다. 주요 업데이트 내용airflow 공식 문서에서는 하이라이트로 몇 가지 주요 업데이트 내용에..
현재 helm chart 를 사용해서 kubernetes 에 배포를 한 상태인데 api server 에 접속을 하기 위해서는 매번 포트 포워딩을 해서 접속을 해야한다. 이 부분이 너무 귀찮아서 직접 포트 포워딩을 하지 않고 접속하는 방법이 있는지 찾아봤다. 찾아보니 3가지 방법을 찾을 수 있었다.nodePort 설정하기이 방법은 주로 온프레미스 환경이거나 테스트 환경에서 권장한다고 한다.loadBalancer 설정하기이 방법은 주로 클라우드 환경에서 여러 서버 간 로드밸런싱이 필요한 경우 사용한다고 한다.퍼블릭 IP 로 설정해주게 되면 로드 밸런싱을 통해 분산 처리가 가능하다.Ingress 설정하기이 방법은 주로 nginx 와 같은 프록시가 있는 운영 환경에서 주로 사용한다고 한다.도메인을 통해 접속을 ..
지난 번에 나는 로컬 환경에서 kind 를 통해 간단하게 kubernetes 환경을 구축했었다.이번에는 드디어 만들어진 kubernetes cluster 에 airflow 를 설치해보려고 한다. 쿠버네티스 위에 airflow 를 올리는 것은 이번이 처음인데 열심히 찾아보고 공부하면서 만들어봐야겠다. 자, 그럼 하나씩 만들어보자! 1. helm chart 를 사용해서 airflow 패키지 다운로드 받기먼저 helm chart 를 사용해서 airflow 를 설치하는데 필요한 airflow 패키지를 다운로드 받으려고 한다. 1) helm 설치하기그러기 위해서는 먼저 helm 을 설치해주어야 하는데 맥북에서는 다음과 같이 설치할 수 있다.brew install helm 설치가 완료되고 나서 help 를 통해 사..
8월 말 원티드를 통해서 화해 데이터 엔지니어 직무에 지원했고 9월 초에 서류 합격 메일을 받을 수 있었다. 항상 불합격 소식만 듣다가 무슨 일이지... 싶었다. 물론 이맘때 네이버 클라우드에서도 서류에 합격하여 열심히 테스트를 보았지만 결과는 불합격... 실제로 면접을 보는 것은 이번이 처음이었기 때문에 열심히 면접을 준비했던 것 같다. 드디어 면접 당일이 되고 면접을 보러가야하는데 왜 이렇게 긴장이 되는건지.. 거의 1년 만에 면접을 보다보니 긴장이 많이 되었던 것 같다. 회사에 도착했는데 회사 앞에 무언가 익숙한 택배 박스가 떡하니 있어서 놀랬다.사실 화해는 지금 내가 다니는 회사의 고객사 중 한 곳이었다. 하핳 20분 가량 일찍 도착해서 회사 안에 들어가 대기를 하다가 4시가 되어서야 면접을 보게..
며칠 전 소크라에이라는 기업에서 원티드를 통해 제안이 왔다. 난생 처음 들어보는 회사 이름이어서 찾아보니 예전에 뤼이드라는 회사가 사명을 변경했고 그 회사가 바로 소크라에이아이였다.뤼이드는 찾아보니 산타 토익 이라는 앱 서비스로 교육 분야에서 자리를 잡아가고 있는 듯 해 보였다. 나는 그래서 제안이 온 김에 경험이 될 것 같아 제안을 수락했고 제안을 수락한 다음 날 바로 서류 합격이라는 메일을 받게 되었다.그리고 바로 서류 합격날 다음 날부터 코딩 테스트를 진행할 수 있었다. 정말 빠르게 채용 전형이 진행되다보니 정신없이 했던 것 같다. 코딩 테스트는 프로그래머스를 사용해서 진행했고 2시간 동안 총 5문제를 풀면 되었다.5문제이고 2시간 정도면 그래도 난이도는 그렇게 높지 않다는 생각이 들었다.그리고 저..
데이터 파이프라인을 설계하거나 데이터 처리를 할 때 CDC 라는 용어를 많이 듣게 되는데 변경된 데이터를 캡쳐해서 사용한다고 알고 있지만 보다 자세하게 알아보고 정리해보려고 한다. CDC (Change Data Capture) 가 뭐지?CDC 는 말 그대로 변경된 데이터를 캡쳐하는 기술을 말한다. 조금 더 전문적으로 정리해보면, 변경된 데이터를 추적하고 이를 기반으로 동작을 취할 수 있도록 데이터를 결정하고 추적하기 위해서 사용되는 여러 소프트웨어 디자인 패턴들의 모임이라고 할 수 있다. 일반적으로 이러한 의미로 사용되지만 어떤 플랫폼을 사용하는지에 따라 개념이 달라질 수 있다. 내가 느끼기에는 데이터가 많아지고 실시간 데이터 처리에 대한 수요가 많아지게 되면서 Apache Spark, Kafka 와 같..
8월 말 여러 대기업 채용 공고 중 네이버 클라우드 데이터 엔지니어 채용공고를 보고 지원했었다.예전에도 네이버 웹툰에 지원했었고 1차 면접에서 탈락했던 기억이 있었지만 그래도 다시 도전해보고 싶었기 때문에 열심히 이력서를 작성해서 지원했다. 그리고 9월 초 채용 전형 안내에 대한 메일이 왔다. 네이버 클라우드는 특이하게 서류전형에서 기업문화적합도 테스트와 직무테스트를 걸쳐 서류 전형이 진행되었다.나도 처음해보는 전형이었기 때문에 메일에 적혀있는 설명에 따라 하나씩 진행했던 것 같다. 먼저, 기업문화적합도 테스트는 말 그대로 인적성 검사였다. 인적성 검사 사이트에 들어가서 내 성향에 맞게 그리고 솔직하게 답변을 체크하고 제출했다. 그런데 며칠 뒤 갑자기 추가 응시를 부탁드린다는 메일이 오게 되었다. 다....