Minding's Programming 썸네일형 리스트형 [Airflow] Airflow API를 통해 모니터링하기 Airflow APIAirflow는 현재 실행되고 있는 airflow의 상태 등을 알 수 있고, 외부에서 조작이 가능하도록 하는 API를 제공하고 있다. 이 API를 사용하기 위해서는 몇 가지 설정이 필요하다. Airflow API 활성화airflow.cfg의 api 섹션에서 auth_backend의 값을 변경해야 한다. 일반적으로 docker-compose.yaml파일을 사용할 경우 이미 설정이 되어있는 것을 확인할 수 있다.# docker-compose.yaml 파일 &airflow-common-env ... AIRFLOW__API__AUTH_BACKENDS: 'airflow.api.auth.backend.basic_auth,airflow.api.auth.backend... 더보기 [Airflow/Slack] Airflow DAG 실패 시 Slack으로 알림 보내기 Slack은 Webhook이라는 기능을 통해 Post 명령으로 특정 채널에 메시지를 보낼 수 있는 기능을 지원한다. 이를 이용해 Airflow DAG에서 에러가 발생할 때, Slack에 메시지를 보내는 기능을 구현해보자. 1. 알림을 전달할 채널 생성(또는 선택)나는 test할 워크스페이스와 채널을 미리 만들어두었다. 2. Slack app 생성https://api.slack.com/messaging/webhooks Sending messages using incoming webhooksCreate an incoming webhook with a unique URL to which you send a JSON payload with message text and options.api.slack.com위 .. 더보기 [Docker] Docker Volume Docker Volume?Docker Container가 실행되었다가 중단된다면, 그 안에 있는 데이터들은 일반적으로 유실된다. 하지만 Container에서 DB같은 프로그램이 동작하는거라면, 그 데이터가 유실되면 안될 것이다. 그 데이터를 보장하는 기능이 Docker Volume이라고 할 수 있다. Docker Volume은 Docker Container의 가상 파일 시스템과 호스트 시스템(OS)의 파일 시스템을 맵핑해 기록을 남기는 방식으로 데이터를 저장한다. 위와 같은 방식으로 Container의 특정 폴더 경로를 OS 시스템의 포더 경로와 마운트해 해당 폴더를 공유하는 것이다. Docker Volume 타입Host Volumes: docker run -v를 실행할 때 페어로 지정docker run.. 더보기 [CI/CD] CI, CD 개념 및 Github Actions SW 빌드란? 개발한 소프트웨어를 최종적으로 출시하기 위한 형태로 만드는 것이다. 참여 개발자들이 많을수록 이 과정은 더더욱 중요해지며, 개발이 끝나기 전부터 빌드를 해서 테스트를 진행하면 SW의 안정성이 증대된다. CI (Continuous Integration)CI는 Software Engineering Practice의 하나로, 아래와 같은 기본 원칙을 가지고 있다.코드 Repo는 하나만 유지한다. (Master or Main)코드변경을 최대한 자주 반영테스트를 최대한 추가빌드를 계속적으로 수행 (자동화)성공한 빌드의 프로덕션을 릴리스 (자동화)CD (Continuous Delivery): 배포만약 빌드가 실패할 경우새 코드의 commit으로 테스트가 실패하는 경우, 많은 회사들이 다시 빌드가 성공.. 더보기 [BI/시각화] Superset SupersetLooker, Tableau 등 다양한 시각화 도구들이 있지만, 기능이 많은 만큼 배우기 다소 어렵거나 비용이 든다는 단점이 있다. Superset은 Airbnb에서 시작된 시각화 관련 오픈소스로, 다양한 형태의 시각화와 손쉬운 인터페이스를 지원한다. SQLAlchemy와 연동되어 다양한 DB를 지원하고, 실시간 데이터 시각화 및 API와 플러그인 아키텍처로 확장성도 좋다. Superset은 Flask와 React JS로 구성되어 있으며, sqlite를 메타데이터 DB로 사용한다. Redis를 캐싱 레이어로 사용하고, SqlAlchemy가 백엔드 DB 접근에 사용된다. Preset으로 Superset 사용해보기Superset은 크게 2가지 방법으로 사용해볼 수 있다. 첫 번째 방법은 pre.. 더보기 [Snowflake] Snowflake 알아보기 (설치 방법) Snowflake?Snowflake는 2014년에 출시한 데이터 저장부터 시각화, 머신러닝까지 가능한 클라우드 플랫폼이다. 글로벌 클라우드라고 불리는 AWS, GCP, Azure에서 모두 동작할 수 있어 많은 회사들이 Snowflake를 선택하고 있기도하다. 데이터 판매가 가능하기도 하며, ETL과 관련된 다양한 데이터 통합 기능을 제공한다. Snowflake의 특징가변 비용 모델: 스토리지와 컴퓨팅 인프라가 별도로 설정됨SQL 기반 데이터 처리 가능CSV, JSON, Parquet 등 다양한 데이터 포맷 지원배치 데이터 중심이지만 실시간 데이터 처리도 지원Time Travel 기능으로 과거 데이터까지 분석 가능웹 콘솔 및 Python API로 관리/제어 가능 (ODBC, JDBC 연결 지원)클라우드 스.. 더보기 [AWS] AWS Redshift Spectrum으로 S3 외부 테이블 조작해보기 Redshift SpectrumRedshift Spectrum은 Redshift의 확장 기능으로, S3 스토리지에 있는 파일들을 마치 테이블처럼 취급해 SQL로 조작할 수 있도록 만드는 기능이다. S3의 있는 파일을 Redshift로 옮겨와야할 때, 크기가 너무 크거나 너무 정제되지 않은 채로 업데이트할 경우 비용이나 용량 문제가 발생할 수 있다. 이럴 때, Redshift Spectrum을 이용해 파일에서 필요한 정보들만 redshift에 옮겨올 수 있다. Fact 테이블과 Dimension 테이블Spectrum을 이용하기에 앞서, 분석 대상 데이터를 크게 2가지 테이블로 나눌 수 있다는 점을 알아보자. 아래와 같이 분석의 메인이 되는 Fact 테이블과 상세 정보를 제공하는 Dimension 테이블로 .. 더보기 [AWS] AWS Redshift Serverless 설치 (무료 평가판 / Free Trial) AWS의 대표적인 데이터 웨어하우스 서비스인 Redshift는 Serverless를 처음 이용할 경우 3달 또는 300달러까지 무료로 이용할 수 있다. Redshift를 공부도 해볼 겸, Redshift Serverless를 설치하고 초기 설정까지 해보려고 한다. AWS 로그인 및 Redshift 진입AWS 홈페이지(aws.amazon.com)에 접속해 로그인한 뒤, Redshift 섹션으로 진입하면 위와 같은 화면이 나올 것이다. 아직까지 해당 계정으로 Redshift를 사용해본 적이 없기 때문에, '무료 평가판 사용해보기'라는 버튼이 노출된다. 해당 버튼을 눌러 Redshift Serverless 설치 과정을 시작해보자. (주의: 이 화면 아래로 내려가 '클러스터 생성' 버튼을 누르면 Serverle.. 더보기 이전 1 2 3 4 5 ··· 22 다음