-
Prefect?
Airflow를 찾아보다가, 아래와 같은 글을 발견했다.
아래 토론장에서는 만약 새로운 도입이라면 Prefect를 도입할 것이다 라는 의견이 많았다.
Prefect의 단점은 Community가 협소하다는건데, Slack을 운영중이고, 또한 답변도 빠르게 온다고하기에 큰 문제가 될 것 같지않았다.
Airflow vs. Prefect?
I've used Airflow, but have never used Prefect. Does anyone have experience with both (or either) and pros/cons of each?
www.reddit.com
Prefect는 아래에 있다.
어차피 백날 문서만 들여다보고 읽어봤자 얻는건 없다. 써봐야한다.
Prefect - The New Standard in Dataflow Automation
Prefect is a new data workflow management system, designed for modern infrastructure. Prefect provides a flexible open-source Python framework to easily combine tasks into workflows, then deploy, schedule, and monitor their execution through the Prefect UI
www.prefect.io
prefect 구조 가입하면 금방 대시보드까지 접근이 가능하다.
위에 튜토리얼을 따라해보라고 알람으로 뜬다. 튜토리얼을 따라해보자.
Tutorials
아래코드를 복붙해서 실행하면 문제없이 실행이 잘된다.
import prefectfrom prefect import task, Flow@taskdef hello_task():logger = prefect.context.get("logger")logger.info("Hello world!")flow = Flow("hello-flow", tasks=[hello_task])flow.run()[2021-10-18 13:09:24+0900] INFO - prefect.FlowRunner | Beginning Flow run for 'hello-flow'
[2021-10-18 13:09:24+0900] INFO - prefect.TaskRunner | Task 'hello_task': Starting task run...
[2021-10-18 13:09:24+0900] INFO - prefect.hello_task | Hello world!
[2021-10-18 13:09:24+0900] INFO - prefect.TaskRunner | Task 'hello_task': Finished task run for task with final state: 'Success'
[2021-10-18 13:09:24+0900] INFO - prefect.FlowRunner | Flow run SUCCESS: all reference tasks succeededAPI Key 등록
계정 setting에 가면 api key를 발급받을 수 있다. 이를 발급받고 authrization 관련 설정을 해준다.
create the test project
test project를 하나 만들어주자. tester project를 하나 만들어준다음에 flow에 등록해준다.
flow.register(project_name="tester")
Flow URL: https://cloud.prefect.io/upsidejiwon-gmail-com-s-account/flow/a553e28d-60e5-4988-9354-6eed881870c3
└── ID: c8fe4ca8-bb50-4fa4-8183-1afcb86c7725
└── Project: tester
└── Labels: ['DESKTOP-2RE5IIN']Agent Run
agent를 실행해준다. 그럼 대쉬보드에 실행된다! Agent는 한마디로 실질적으로 실행을 하는 요소라고한다.
이와 관련된 이론은 아래 블로거분이 너무 자세하게 적어주셨다.
Prefect 주요 구조 - Agent, UI sever
prefect 구성 요소에는 크게 UI 서버, Agent가 있다. https://docs.prefect.io/orchestration위 그림은 프리펙트 클라우드 서비스를 쓸 경우의 구조도이다. 오른쪽 cloud ui가 prefect의 UI 서버이다. Flow,
velog.io
대시보드 상단에 보면 RUN이 있다. 이 RUN을 눌러서 Flow를 Run하면 아래와 같이 내가 등록한 task가 돌아가는 대시보드를 보여준다.
캘린더를 열면 아래처럼 깔끔하게 볼 수 있다.
REFERENCES
Prefect란? - Task, Flow, Parameter
airflow와 같은 workflow orchestration tool인 prefect에 대해 알아보자.prefect는 데이터 파이프라인을 구축하는데 쓰인다.데이터는 만들어질 때 작업들 간의 dependency가 있는데 이것을 관리해준다.예를 들어
velog.io
Prefect - Quick Review
Workflow 툴인 Prefect에 대해서 Quick하게 리뷰해보려고 한다. 이게 대체 뭔가 함은... 일단은 Apache Airflow 같이 워크 플로우를 정의하고 스케쥴링 돌리며, 이 모든 것을 체계적으로 매니징하는 오케스
dailyheumsi.tistory.com
위지원데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨
'2021년 > 21.下' 카테고리의 다른 글
windows 10에서 ubutu 사용하기 (0) 2021.11.04 [docker error] WSL 2 installation is incomplete. (0) 2021.11.04 MLOps에 관하여.. #2 (0) 2021.10.12 teachablemachine (0) 2021.10.08 MLOps에 관하여.. #1 (0) 2021.10.07