data 5

[Airflow] Backfill과 Clear를 정리해보자

Backfill 데이터 파이프라인을 운용하다보면, 이미 지난 날짜를 기준으로 재처리를 해야 하는 일이 왕왕 있습니다. 백필은 바로 이 재처리 작업을 의미합니다. 단어의 의미 그대로 ‘메우는 작업'이라고 생각하면 될 듯합니다. Backfill을 하게 되는 경우 백필 작업을 하는 경우는 나름 명확합니다. 다음과 같은 사례가 있습니다. 버그가 있거나 어떤 이유로 로직이 변경되었을 때 전체 데이터를 새로 말아주어야 할 때 컬럼 등의 메타 데이터가 변경되었을 때 이를 반영하기 위한 append 성의 작업이 필요할 때 이외에도 과거의 데이터를 재처리하고자 하는 니즈가 있다면 백필을 먼저 떠올리면 됩니다. Airflow Backfill Airflow를 이용하고 있다면 몇 가지 방법으로 백필 작업을 수행할 수 ..

IT/Airflow 2022.09.18

[Hadoop] WebHDFS와 HttpFS는 무엇이 다른걸까?

Intro 얼마전, 회사에서 MLE 분이 HDFS에서 뭔가 다운로드 받고 싶으시다고 WebHDFS 경로를 문의주셨습니다. 그런데 저희 시니어 팀원 분께서 WebHDFS가 아닌 HttpFS를 쓰시도록 권고를 해주시길래, 어떤 차이가 있는걸까.. 생각해보게 되었습니다. 단순한 궁금증이긴 하지만, 이번 기회에 정리해보고자 합니다. WebHDFS와 HttpFS. 과연 무엇이 다른걸까요? WebHDFS WebHDFS는 HDFS 클라이언트가 Hadoop 바이너리를 설치하지 않더라도, 다양한 언어에서 HDFS에 접근할 수 있도록 REST 형태로 개발된 API입니다. Hortonworks에서 개발했으며, Hadoop 에코시스템 외부에서 동작하는 애플리케이션이 HDFS에 무언가 생성하고 쓰고, 변경하는 작업을 허용해줍니..

IT/Hadoop 2022.08.07

[Airflow] Dynamic Task Mapping (동적 태스크 매핑)

Introduction 최근 사내에서 사용하는 몇몇 Airflow 클러스터 관리를 담당하게 되면서 Airflow 2.3.0으로의 버전업을 진행하게 되었습니다. 사실 이전에 다뤘던 두 포스트도 그 일환으로 작성했던 내용이네요 ㅎㅎ Airflow 2.3.0 업그레이드에는 나름 큰(?) 변경 사항과 추가 사항이 있습니다. 그동안 사용해왔던 TreeView를 대체하는 GridView의 도입, LocalKubernetesExecutor의 도입, 메타데이터 DB에 쌓여만 가던 오래된 데이터를 지워주는 airflow db clean 명령어 등, 각각 하나의 글로 작성해도 충분할만큼 중요한 신규 기능, 변경점들입니다. 그중에서도 가장 주목 받았던 신규 기능이라고 한다면, Dynamic Task Mapping 을 꼽을 ..

IT/Airflow 2022.06.06

[wookiist] 프로그래머스 Data Engineering 스터디 후기

시작에 앞서, 본 스터디는 모두 제 사비로 구매하여 수강한 것임을 먼저 밝힙니다! 데이터 엔지니어..?! 이번에 데이터 엔지니어로 합류하게 된 후, 여러 고민을 많이 했습니다. 특히, 지금까지 해오던 분야와 전혀 다른 Data라는 분야에 어떻게 적응하고 익혀가야할까 하는 고민이 정말 컸던 것 같아요. 더구나 저는 SQL도 정식으로 강의를 들어본 적이 없다보니, 무엇부터 해야하는지조차도 여러 소스에 의존할 수밖에 없었습니다. 그래서 여러 인터넷 강의(패X트캠퍼스, 인X런)를 구매하고, 하나하나 들어가기 시작했어요. 헌데, 문제는 강사님들의 강의 스타일도 저와 잘 맞지 않았고, 강의 내용이 기대했던 것보다 훨씬 낮은 수준인 경우가 종종 있었습니다. 강사님 음성보다 배경 음악이 더 큰 경우도 있었고, 전달력이..

욱이야기/욱이 2022.01.01

[Python] "Python API tutorial - An Introduction to using APIs" - 파이썬 API 튜토리얼 (번역)

Python API tutorial - An Introduction to using APIs API라고 불리는 Application Program Interfaces는 원격 웹 사이트에서 데이터를 검색해오는데 흔히 사용된다. Reddit이나 Twitter, Facebook은 모두 그들의 API를 활용해 특정 데이터를 제공한다. API를 사용하기 위해서는 원격 웹 서버에 요청하고, 필요한 데이터를 검색해야 한다. 하지만 왜 쉽게 다운로드할 수 있는 static dataset 대신에 API를 이용할까? APIs는 다음과 같은 케이스에 유용하다. 데이터가 빠르게 변화하는 경우이다. 주식 가격 데이터를 예로 들 수 있다. 생각해보면, 그 데이터 셋을 매분마다 새로 생성하고 새로 다운로드 받는다는 것은 상식적이지..

IT/Python 2018.01.10