본문 바로가기
728x90

전체 글331

[Spark] Spark Streaming 개념, DStream API, Structured Streaming Stream 처리란스트림 처리는 신규 데이터를 끊임없이 처리해 결과를 만들어내는 행위입력 데이터는 무한하며 시작과 끝을 사전에 정의하지 않음스트림 처리 시스템에 도착한 일련의 이벤트(신용카드 전표 정보, 웹사이트 클릭(행동 로그), IoT 장비 센서 데이터)1) 스트림 처리 사례통보와 알림notification과 alerting은 가장 흔한 스트림 처리 사례연속적인 이벤트에서 특정 이벤트나 이벤트의 패턴을 탐지했을 때 발생실시간 리포트기업에서 직원을 위한 실시간 대시보드를 만들 때에 사용플랫폼 전체 사용량, 시스템 부하, 실행 시간, 신규 기능의 사용량증분형 ETL웨어하우스에서 정보를 얻는 시간을 줄이기 위해 사용신규 데이터(증분 데이터)에 대해서 바로바로 반영할 수 있음데이터 중복 저장이나 유실 방지를.. 2024. 12. 30.
퇴사, 가치관 그리고 회고록 정말 오랜만에 블로그에 글을 쓰게 되는데, 드는 생각과 근황, 회고에 대해서 적어보려고 합니다.[퇴사]2023년 5월에 입사하여 2024년 12월 부로 퇴사를 하게 되었는데, 사유는 권고사직입니다.회사의 상황이 어려워지는 것은 알았지만, 인원감축을 해야 할 정도로 어려울 것이라는 생각 해본 적 없었고, 뉴스에서만 보던 일이 저한테도 일어나게 될 줄 몰랐습니다.처음에는 갑작스러운 소식에 많이 당황도 했고, 이유가 뭐 일까도 생각해 봤는데, 이미 제가 손을 쓸 수 없는 상황이기에 누군가를 원망한다거나, 지난 일에 신경 쓰기보다는 단념을 하게 되고, 다음 스텝을 밟기 위해 준비를 하며 보냈습니다.원래의 계획은 경력 5년은 최소 채우고 난 이후에 도전해보고 싶었던 세계여행이나 영어 회화, 호주 워홀도 실행해보려.. 2024. 12. 14.
[Airflow] TO-BE Batch job 프로세스 개선 - 3) DAG 이전 및 이슈 정리 포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 3번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] TO-BE Batch job 프로세스 개선 - 2) 거버넌스, 표준, 형상 관리, 자동화, 프로세스 단축https://spidyweb.tistory.com/544 3. [Airflow] TO-BE Batch job 프로세스 개선 - 3) DAG 이전 및 이슈 정리https://spidyweb.tistory.com/5451. DAG 이전 경험 공유기존에 존재하던 다양한 명칭 → 표준화된 규칙에의해 .py , DAG 명 일괄 변경 및 .. 2024. 6. 22.
[Airflow] TO-BE Batch job 프로세스 개선 - 2) 거버넌스, 표준, 형상 관리, 자동화, 프로세스 단축 포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 2번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] TO-BE Batch job 프로세스 개선 - 2) 거버넌스, 표준, 형상 관리, 자동화, 프로세스 단축https://spidyweb.tistory.com/544 3. [Airflow] TO-BE Batch job 프로세스 개선 - 3) DAG 이전 및 이슈 정리https://spidyweb.tistory.com/5451. 표준과 자동화기존의 Airflow DAGs는 다양한 사용자로부터 다양한 코드 포멧과 스타일에 따라 python.. 2024. 6. 22.
[Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전(AWS EKS) 이번 포스트에는 NCP 플랫폼에서 새로 구축해본 airflow on k8s 경험을 토대로 저희 주된 배치를 관리하는 AWS 플랫폼 위에서의 Airflow 이전 경험을 공유드리려고 합니다.기존에는 airflow 환경은 EC2한대에 올라가 있었고, IAC로 airflow가 관리되고 있지도 않았고, image에 대해서도 형상관리가 되지 않았습니다. 또한 서버에 대한 확장성이 모잘라서, SIGTERM 에러도 많이 발생 했었습니다.    포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 1번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] T.. 2024. 6. 22.
[Airflow] Sensor 정리, ExternalTaskSensor 와 S3KeySensor 이번 포스트에는 Airflow에서 특정 작업 혹은 객체를 감지하는 Sensor, 그 중에서도 많이 쓰일 것으로 추정되는 S3KeySensor와 ExternalTaskSensor를 정리해보겠습니다. 1. Sensor란Airflow에서는 특정 상황이 발생할때까지 대기하는 Sensor Operator를 제공시간이 기준이 될 수도 있고 파일이나 외부 이벤트가 기준이 될수도 있음Sensor를 사용하면 이러한 상황이 발생할 때까지 기다렸다가 downstream task들이 진행되게 할 수 있음2. ExternalTaskSensor다른 DAG의 특정 작업이 끝나기를 체크했다가 다음 의존관계가 있는 task를 실행할 때 사용import pendulumfrom airflow import DAGfrom airflow.op.. 2024. 6. 22.
[Spark] issue 정리, java.lang.ExceptionInInitializerError 와 java.lang.IllegalStateException: SparkSession should only be created and accessed on the driver scala언어로 spark object를 만들고 jar로 빌드하여 EMR에 제출할 때 나온 에러를 정리하겠습니다.spark관련 정리는 오랜만이네요.1. 원인 파악분명 다른 object와 다른점 없고, jar파일 위치 이름, class 이름까지도 경로에 명시를 잘해 줬는데도 위 제목과 같은 에러가나와서 계속 헤메고 있던 때에 리서칭을 통해서 원인을 파악할 수 있었습니다.scala object에서 다음과 같은 에러가 나온 경우, 주로 Apache Spark에서 SparkSession이 드라이버 노드가 아닌 워커 노드에서 생성되거나 접근될 때 발생된다고 합니다.→ 이는 SparkSession이 조정 목적으로 드라이버에서 관리되어야 하는 싱글톤 객체이기 때문  java.lang.ExceptionInInitial.. 2024. 6. 22.
[Airflow] Prometheus & Grafana에서 확인 할 수 있는 Airflow metrics 정리 Airflow에서는 Statsd라는 컴포넌트를 통해 Airflow의 메트릭을 Prometheus로 보내고, Grafana에서 시각적으로 확인해 볼 수 있습니다.즉 Airflow에서 일어나는 일을 모니터링 할 수 있게 됩니다.Airflow의 Metric에는 어떤 것들이 있는지 공식 홈페이지를 통해 확인 해보겠습니다.그 중에서 유의깊게 봐야 할 metric에 대해서 빨간색으로 진하게(bold)처리 해두었으니, 필터링해서 보시면 될 것 같습니다.1. CountersCounters카운터는 단순히 증가하는 값을 나타내며, 일반적으로 주어진 간격 동안의 이벤트 횟수를 추적합니다.예를 들어, 요청이 서버로 들어오는 횟수나 오류가 발생한 횟수 등을 계산할 수 있습니다.카운터는 보통 리셋되지 않고 지속적으로 증가합니다... 2024. 5. 18.
[Airflow] SLA(Service Layer Agreement) 서비스 수준 계약 정리 Airflow에서는 실패 시 함수를 호출하는 on_failure_callback 외에도 서비스 수준 계약 개념을 적용할 수 있습니다.관련해서 SLA와 어떻게 적용하는 지 확인 해보겠습니다.1. SLA란?서비스 제공자와 고객 간에 합의된 서비스 수준을 정의하는 계약SLA는 서비스의 성능, 가용성, 응답 시간, 처리 시간 등 다양한 측면에서 서비스의 품질을 측정하고 보장하기 위해 사용주요 요소서비스 설명: 제공되는 서비스의 세부 사항을 명확히 설명성능 기준: 서비스의 성능을 평가하기 위한 측정 기준을 설정예를 들어, 시스템의 가용성, 응답 시간, 문제 해결 시간 등이 포함될 수 있음가용성: 서비스가 사용자에게 제공되는 시간의 비율을 정의합니다. 예를 들어, 연간 99.9%의 가용성은 연간 약 8.76시간의 .. 2024. 5. 18.
728x90