asyncio - Asynchronous I/O asyncio란 async/await 문법을 사용해서 concurrent 코드를 작성하기 위한 라이브러리이다. asyncio는 여러 python asynchronous framework들에 기반으로 사 되는데, 예를들면 high performance network, web-server, databas...
Local Kafka Setup
link https://blog.voidmainvoid.net/411
[Python] trouble shooting
OSError: mysql_config not found when installing mysqlclinet solution : install mysql on your mac by brew install mysql pip install cryptography 설치시 에러 발생 운영체제별로 다음 실행과정 수행 [error 32] broken p...
Kafka Transaction
Kafka Transaction 카프카에서 exactly once delievery를 지원하기 위해서 0.11.0.0 이후 버전 이후부터 카프카 트랜잭션 기능을 지원한다. exactly once delievery가 적용되는 범위는 프로듀서부터 컨슈머 까지 연결되는 파이프라인이다. 하지만 컨슈머에서 여전히 중복 데이터 처리가 발생할 수 있다. Use...
[Python] Syntax
Passing a dictionary to a function as keyword parameters Use ** operator to unpack the dictionary # example d = dict(p1=1,p2=2) def f2(p1,p2): print p1, p2 f2(**d) type casting # cast float t...
MERGE
MERGE second table 또는 subquery에 있는 값들을 기반으로 테이블에 있는 값들을 Insert,update,delete. 이는 second table이 change log를 가지고 있고 new row, modified row, marked row(to be deleted)를 가지고 있을때 유용하다. 커멘드는 다음의 케이스들을 처...
Prometheus
Prometheus란? 원래 SoundCloud에서 빌드된 오픈소스 monitorring,alerting toolkit Prometheus는 time series data로 메트릭을 수집및 적재한다. 즉, 메트릭정보는 label이라고 불리는 optional key-value와 함께 기록된 시간이 저장된다. Features 프로메테우스의 기본 기능은 ...
Chart Hooks
Chart Hooks Helm은 차트 개발자들이 release의 life cycle의 특정 시점에 개입하도록 허락하기 위해서 hook이라는 메커니즘을 제공한다. 예를들어 다음과 같은 작업이 가능하다. 다른 차트가 로드되기 전에 ConfigMap이나 Secret을 로드 새로운 차트를 설치하기 전에 DB를 백업하는 job을 실행하고 데이터 복...
Fernet Key
Fernet Fernet은 대칭키 인증 cryptography 구현체이다. Airflow는 커넥션과 변수의 configuration에 있는 패스워드들을 암호화하기 위해 Fernet을 사용한다.
Airflow ci image 리팩토링
Airflow ci image 리팩토링 계기 airflow 컨테이너에 requirements.txt에 정의된 패키지들을 설치할때, 기존에는 legacy resolver를 사용하여 설치를 했었다.(pip3 install --no-cache-dir --use-deprecated=legacy-resolver -r /etc/requirements.txt) 이...