dev

A collection of 43 posts
[airflow] 4. CeleryExecutor 사용하기
dev

[airflow] 4. CeleryExecutor 사용하기

Airflow CeleryExecutor 사용하기 Table of Contents * Rabbitmq, Celery 설치 * Rabbitmq 설정 * airflow.cfg 수정 * localhost?? * meta db 설정 * 실행 * 참조 Airflow는 기본값으로 sqlite를 사용한다. sqlite에서는 SequentialExecutor만 설정가능하기에 DAG내에서 task의 병렬실행이 불가능하다. 병렬실행을 가능하게 하려면 LocalExecutor나 CeleryExecutor를 사용해야하는데 그러기위해선 Database를 Sqlite가 아닌 다른 Database를 사용해야 한다. Database설치&설정은 이전 글을
3 min read
[airflow] 3. LocalExecutor 사용하기
dev

[airflow] 3. LocalExecutor 사용하기

Airflow LocalExecutor 사용하기 Table of Contents * Postgres 설치 * Database 설정 * airflow.cfg 수정 * meta db 설정 * airflow initdb * 참조 Airflow는 기본값으로 sqlite를 사용한다. sqlite에서는 SequentialExecutor만 설정가능하기에 DAG내에서 task의 병렬실행이 불가능하다. 병렬실행을 가능하게 하려면 LocalExecutor나 CeleryExecutor를 사용해야하는데 그러기위해선 Database를 Sqlite가 아닌 다른 Database를 사용해야 한다. 이 글에선 postgres를 예로 들어 설명하겠다.
2 min read
appsflyer pull api를 이용해 raw data 적재하기
dev

appsflyer pull api를 이용해 raw data 적재하기

Table of Contents * 1. API 정리 * 2. 테이블 설계 * 3. 테이블 생성 * 4. 안드로이드&ios dataframe 합치기 * 5. temp테이블로 to_sql * 6. temp테이블 -> 적재테이블로 insert * 전체 스크립트 * 참조: appsflyer pull api 가이드 * push api가 아닌 pull api를 사용하는 이유. * 앱스플라이어 이벤트를 많이 정의할수록 push api가 빈번하게 호출된다. * 이는
11 min read
appsflyer pull api를 이용해 daily report 적재하기
dev

appsflyer pull api를 이용해 daily report 적재하기

* 참조: appsflyer pull api 가이드 * push api가 아닌 pull api를 사용하는 이유. * 앱스플라이어 이벤트를 많이 정의할수록 push api가 빈번하게 호출된다. * 이는 서비스 품질 저하로 이어질 수 있음. (완벽한 분석용 DB가 따로 구축되어 있다면 상관 없다.) * 그러므로 실시간 데이터 적재보다는 하루에 한번, 전일자 데이터를 적재하기로 결정했고 이런 용도에는 pull api가 적합하다.
7 min read