profile
공대생의 코딩 정복기
post-thumbnail

섹션9 : Bash sensor/Python sensor

Return True if and only if the return code is 0. (bash_command에 작성한 쉘 스크립트 내용이 0이면, return True를 가진다.)쉘 스크립트에서 return True를 주는 방법파이썬에서의 return True와 같

2023년 8월 22일
·
0개의 댓글
·
post-thumbnail

섹션9: 센서의 개념

오퍼레이터의 일종<span style='background-color: - 모든 센서는 BaseSensorOperator를 상속하여 구현되며 이때, BaseSensorOperator는 BaseOperator를 상속한다.상속시에는 \_\_init()\_\_(생성자)

2023년 8월 17일
·
0개의 댓글
·
post-thumbnail

섹션8: 더 많은 Provider 확인 & Connection Type 추가하기

airflow의 Admin의 Providers는 현재 설치되어 있는 Providers 패키지를 말한다.따라서, 설치가능한 Providers 더 보기는 아래를 참조한다.Providers\_목록보기!아파치 airflow2는 모듈 방식으로 제공되어지는데, task들을 작성하

2023년 8월 17일
·
0개의 댓글
·
post-thumbnail

01. 매출 분석

8/19 ~ 8/20 공부한 뒤, 블로그 포스팅 예정입니다.

2023년 8월 17일
·
0개의 댓글
·
post-thumbnail

Spark 기초 함수 정리 (1)

spark.read.csv 로 데이터 프레임을 가져온다.titanic_sdf.show() : pandas의 head()와 유사, head()는 5개의 행을 가져오지만 spark 데이터프레임은 20개를 가져온다.만약, 정해진 행만 가져오고 싶다면 titanic_sdf.l

2023년 8월 17일
·
0개의 댓글
·
post-thumbnail

아파치 카프카 기초

데이터 전송 라인이 많아짐프로토콜 파편화가 심해져 유지보수가 어려워짐source application(kafka producer) -> 데이터 -> 카프카 -> 데이터 -> target application(kafka consumer)고가용성낮은 지연높은 처리량 대용량

2023년 8월 16일
·
0개의 댓글
·
post-thumbnail

섹션8: Custom Hook 만들고 bulk_load하기

Base_hook 명세보기(https://airflow.apache.org/docs/apache-airflow/stable/\_modules/airflow/hooks/base.html여기서 잠깐!@classmethod란?원래 클래스를 import해오면, 해당

2023년 8월 16일
·
0개의 댓글
·
post-thumbnail

섹션8: Postgres Hook으로 bulk_load하기

airflow.providers.postgres 명세보기tab으로 delimeter가 설정된 파일을 데이터베이스 테이블로 로드하는 기능을 제공한다.psycopg2 가 가지고 있는 copy_expert method를 postgresql cursor가 실행하고 있음을 알

2023년 8월 16일
·
0개의 댓글
·
post-thumbnail

섹션8: Connection & Hook

예전에 프로젝트를 할 때,이런식으로 입력해줬는데, with 문과 함께 from contextlib import closing을 사용하면 conn객체 생성하고, 쿼리를 날리는 cursor 객체 생성한 뒤, cursor.execute() cursor.commit() 한 후

2023년 8월 16일
·
0개의 댓글
·
post-thumbnail

섹션8: Postgres 컨테이너 올리기

그리고 각각의 컨테이너에는 해당 부분을 추가해준다.이때, default 네트워크가 쓰고 있지 않은 서브넷으로 구성해야 한다.기본적으로 컨테이너들은 유동IP를 지닌다.(즉, 재기동시 IP가 변경 된다.)따라서, 고정 IP를 할당하려면 networks를 만들어 할당해야 한

2023년 8월 16일
·
0개의 댓글
·
post-thumbnail

섹션8: 도커 컴포즈 yaml 해석

목적1개 이상 도커 컨테이너 생성시 <span style='background-color: 작성방법:docker-compose.yaml 파일에 컨테이너들의 설정 내용을 입력한다.도커 컴포즈 서비스 시작yaml 파일이 있는 위치에서 sudo docker co

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

섹션7: Custom 오퍼레이터 개발 실습

airflowoperators \+ seoul_api_to_csv_operator.py 서울시 전기차 충전소 정보(서울시 설치)서울시 전기차 급속충전기 정보 현황(서울시 설치)서울시 자동차 전용도로 위치 정보(좌표계: GS80)(2023-08-15기준)매일 오전 7

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

섹션7: CustomOperator 좀 더 정리

오류가 발생해서 잠시 보류(airflow 패키지 설치 관련 문제) 주제선정: 서울시 인구 밀집 지역 공공 급속 충전기 최적 입지 예측 분석 데이터 수집: 서울시 실시간 도시 데이터 1. SimpleHttpOperator란? HTTP 요청을 하고 결과로 text를

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

섹션7: Custom operator 개발 study

AIrflow는 오퍼레이터를 직접 만들어 사용할 수 있도록 클래스를 제공해준다. \- BaseOperator (부모 클래스)BaseOperator는 상속시 두가지 메서드를 정의해야한다.(Overriding) 자식클래스 재정의 1\. <span style='b

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

섹션7: Trigger Dag Run 오퍼레이터

(1) TriggerDagRun 오퍼레이터파라미터에 어떤 DAG을 Trigger를 할지 dag_id를 넣어주면 된다.(2) ExternalTask 센서| 비교 | TriggerDagRun 오퍼레이터 | <span style='background-color: |

2023년 8월 15일
·
0개의 댓글
·
post-thumbnail

섹션6: BranchPython 오퍼레이터로 분기처리하기

task1의 결과에 따라 task2-x 중 하나만 수행하도록 구성해야 할 때예) 상위에 있는 task1의 결과로 'GOOD', 'BAD', 'Pending'이라는 결과 3개 중 하나가 나오고 그에 따라 task2-1 ~ task 2-3 중 하나가 실행되도록 해야할 경우

2023년 8월 13일
·
0개의 댓글
·
post-thumbnail

섹션5: 전역 공유변수 Variable

Xcom: 특정 DAG, 특정 schedule에 수행되는 Task 간에만 공유가 된다. \- 따라서, 어제 수행되었던 Task와 오늘 수행된 Task끼리는 데이터 공유가 안된다.모든 DAG가 공유할 수 있는 전역 변수는 없을까?Variable 등록하기 \- Admin

2023년 8월 13일
·
0개의 댓글
·
post-thumbnail

섹션5: Python & Email 오퍼레이터 with Xcom

Email 오퍼레이터는 어떤 파라미터에 JinJa Template를 쓸 수 있을까?airflow\_공식문서\_email.operatorto, subject, html_content, files 가 Template을 쓸 수 있는 파라미터임을 확인할 수 있다.

2023년 8월 13일
·
0개의 댓글
·
post-thumbnail

섹션5: Python &Bash 오퍼레이터 간 Xcom 사용

python Operator에서 return값은 자동으로 Xcom에 저장됨Bash Operator에서 ti.xcom_pull/push는 env와 bash_command에서만 가능함Bash Operator에서는 마지막에 출력된 문장이 return 값으로 간주되어 Xcom

2023년 8월 13일
·
0개의 댓글
·
post-thumbnail

섹션5: 데이터 공유(Bash Operator)

Bash 오퍼레이터는 env, bash_command 파라미터에서 JinJa Template 문법을 이용하여 push/pull 이 가능하다.템플릿 문법에서도 ti객체 사용이 가능하다.bash_command에서는 ""로 감싸진 출력하려는 문장이 return으로 간주된다.

2023년 8월 13일
·
1개의 댓글
·