반응형

전체 글 584

[Kafka] Kafka study 내용 정리 1

1.1 카프카의 주요 특징 빠른 데이터 수집이 가능한 높은 처리량과 낮은 지연시간 카프카는 매우 높은 처리량(throughput)과 낮은 지연시간(latency)을 자랑한다. 아래 그림은 카프카, 펄사, 래빗MQ 총 3가지 메시징 시스템을 비교한 자료다. 이 그림을 보면, 처리량은 카프카가 제일 높으며, 지연시간이 제일 낮은 것은 래빗MQ라는 것을 알 수 있다. 하지만 처리량과 응답 속도를 같이 비교했을 때는 카프카가 독보적이다. 이렇게 카프카는 높은 처리량을 바탕으로 다양한 기업들의 요구사항을 만족시켜줄 뿐만 아니라 비교적 낮은 지연시간까지 제공한다. 높은 확장성 위에서 카프카는 높은 처리량이 장점이라고 했지만, 아무리 처리량이 높은 시스템이라 할지라도 그 끝은 존재하기 마련이다. 이러한 문제를 해결하..

[Airflow] 다른 시스템과 연결하기

1. 다른 시스템과 연결하기 Airflow 는 태스크 간 데이터를 전달하는 방법으로 두가지가 있음 Airflow 메타스토어를 사용하여 태스크 간 결과를 쓰고 읽는다. 이 방법을 xcom 을 사용하여 데이터를 옮긴다고 한다. 자세한 내용을 아래 링크 참고. xcom 을 사용하여 다른 테스크 간에 데이터 공유 가능 Airflow Xcom 사용하기 영구적인 위치(디스크 또는 데이터베이스)에 태스크 결과 기록 Airflow 태스크는 설정에 따라 물리적으로 서로 다른 컴퓨터에서 독립적으로 실행되므로 메모리에서 데이터를 공유할 수 없음 태스크 간의 데이터는 태스크가 완료된 후 다른 태스크에서 읽을 수 있는 다른 위치에 유지되어야 함. Airflow 는 XCom이라는 기본 메커니즘을 제공, Airflow 메타스토어에..

[Airflow] 2. Airflow DAG 의 구조

2. 첫번째 Airflow DAG 작성 Airflow 는 하나 이상의 단계로 구성된 대규모 작업을 개별 태스크로 분할하고 DAG ( Directed Acyclic Graph) 로 형성 가능 다중 태스크를 병렬로 실행할 수 있고 서로 다른 기술을 사용할 수 있음 import json import pathlib import airflow import requests import requests.exceptions as requests_exceptions from airflow import DAG from airflow.operators.bash import BashOperator from airflow.operators.python import PythonOperator dag = DAG( dag_id="l..

카테고리 없음 2023.11.15

[Python Study] 파이썬 모듈

여러 프로그램에서 썼던 편리한 함수를 각 프로그램에 정의를 복사하지 않고도 사용하고 싶을 수도 있다. 이런 것을 지원하기 위해, 파이썬은 정의들을 파일에 넣고 스크립트나 인터프리터의 대화형 모드에서 사용할 수 있는 방법을 제공합니다. 그런 파일을 모듈 이라고 부름 모듈로부터 정의들이 다른 모듈이나 메인 모듈로 임포트 될 수 있음 1. 파이썬 스트링 관련 모듈 2. 데이터 타입 관련 모듈 3. 수학 함수 및 기타 숫자 모듈 4. 인터넷 데이터 처리 모듈 5. 마크업 및 파일 형식 관련 모듈 5. 압축, 보관 및 자료보존 처리 함수형 모듈 6. 운영체제 및 런타임 관련 모듈 자세한 내용은 추후 아래 링크를 통해 스터디 진행할것 https://docs.python.org/ko/3/tutorial/module..

언어/Python 2023.11.14

[Airflow] 1-2. Apache Airflow 살펴보기

2. Airflow 소개 2.1 파이썬 코드로 유연한 파이프라인 정의 파이프라인(워크플로, 태스크)를 방향성 비순환 그래프(DAG) 로 정의 가능 파이썬 스크립트로 DAG 의 구조를 설명하고 구성 각 DAG 파일은 주어진 DAG 에 대한 태스크 집합과 태스크 간의 의존성을 기술하고, Airflow 는 DAG 구조를 식별하기 위해 코드를 파싱 프로그래밍(파이썬) 접근 방식이 DAG를 구성하는데 많은 유연성 제공 외부 DB, 오픈소스 및 클라우드 서비스에서 태스크를 실행할 수 있도록 확장 기능이 계속 개발중 여러 시스템 간에 결합/연결이 가능한 복잡한 데이터 파이프라인을 구축 가능 2.2 파이프라인 스케줄링 및 실행 파이프라인을 언제 실행할 것인지 각각의 DAG 실행주기 정의 가능 이를 통해 Airflow ..

[Airflow] 1-1. Apache Airflow 살펴보기

airflow은 유연한 파이썬 프레임워크를 사용해 쉽게 데이터 파이프라인을 구축가능 최신 기술 환경에서 접하게 되는 서로 다른 기술들을 연결할 수 있는 다양한 빌딩 블록을 제공하는 것 에어플로우는 거미줄의 거미와 같이 데이터 프로세스 과정에서 중요한 역할을 하며 다양한 시스템에서 발생하는 작업을 조율 직접적으로 데이터 처리 작업을 수행하지 않지만, 데이터 처리를 위한 다양한 구성 요소들을 조정 1. 데이터 파이프라인 소개 데이터 파이프라인은 원하는 결과를 얻기 위해 실행되는 여러 태스크 또는 동작으로 구성 1.1 데이터 파이프라인 그래프 태스크 간의 의존성을 명확하게 확인하는 방법 중 하나는, 데이터 파이프라인을 그래프로 표현하는 것 태스크는 노드로 표시되고 태스크 간의 의존성은 태스크 노드간의 방향으로..

10월 즈음하여

지난 3달 동안 많은 일들이 있었다. 특히 9월 말에는 엄청나게 많은 테이블들을 업데이트하며...인생에서 그렇게 많은 테스트와 개발과 형상관리 등을 한적이 없었떤 것 같다.. 잔실수도 많이 하고, 내가 이렇게 부족한가 싶었다 ㅋㅋㅋㅋ 지하인줄알았는데 지하실이 계속나왔다고나 할까.. 지금은 좀 자존감이 내려갔지만 배워간다고 생각하고 그냥 모두 내려놓고 배우는 중이다. 8,9,월이 어떻게 간지도 모르겠다.. 다음주면 벌써 월급날이다..시간이 이렇게나 빠르다니..ㅋㅋㅋㅋ 어우야.. 이제 시간도 났으니 미뤄뒀던 공부도 하고... 노션에 있는 내용도 정리해서 슬슬 올려야 겠다

23.07.26 클라이언트 정기 배포중에 배운 것들 기록

오늘 클라이언트 정기 배포 중에 배운 것들 기록 1. 데이터 파티셔닝 전에는 항상 기준 테이블을의 분포를 점검해보자 -> 이 부분은 맨날 강의, 유튜브 등에서 많이 듣던 파티셔닝 전에는 항상 데이터의 분포를 봐야한다는 것의 전형이었음 -> 파티셔닝을 통해 데이터를 쪼개서 빠르게 수집하려는 의도였는데, 하필 선택한 기준 컬럼이 skew 가 왼쪽으로 엄청나게쏠려 있는 테이블이었음.. -> 파티셔닝을 해도, 특정 범위 내에만 데이터가 몰려있으니 수집이 빠르게 될 리가 없음 -- 파티셔닝을 진행하기 전에 무조건 파티셔닝할 컬럼의 데이터 분포도를 확인하고 선택할 것!! 2. 파티셔닝하는 컬럼의 skew 가 한쪽으로 쏠려 있으면, 파티셔닝을 하는 의미도 없음 -> dpu, worker 수를 늘려도 아무런 소용이 없..

[join] 꼭 on 을 붙여 조건을 해줄 필요는 없음

꼭 join 시 on 을 붙여서 조건을 해줄 필요는 없다 자세한 내용은 추후 아래 링크를 참고 하자 https://self-interest.tistory.com/entry/ON-%EC%A1%B0%EA%B1%B4-%EC%97%86%EC%9D%B4-%EC%A1%B0%EC%9D%B8JOIN-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 ON 조건 없이 조인(JOIN) 하는 방법 회사에서 조인(JOIN)을 하려 하는데 조건 없이 조인해야 했습니다. 보통 SQL에서 조인할 때 아래와 같은 형식으로 합니다. SELECT (Distinct) Column, Column, Column FROM 첫번째 Table Name LEFT/RIGHT JOIN 두번째 Tabl self-interest.tisto..

반응형