일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- Retry
- TensorFlow
- login crawling
- API
- spark udf
- 공분산
- top_k
- chatGPT
- youtube data
- BigQuery
- correlation
- Airflow
- GCP
- XAI
- GenericGBQException
- UDF
- Counterfactual Explanations
- gather_nd
- session 유지
- hadoop
- grad-cam
- 유튜브 API
- requests
- 상관관계
- integrated gradient
- subdag
- API Gateway
- flask
- tensorflow text
- airflow subdag
- Today
- Total
목록DevOps (28)
데이터과학 삼학년
- GitHub에서 Pull Request를 생성할 때 템플릿을 사용하면 효과적으로 커뮤니케이션을 할 수 있고, 프로젝트의 품질을 높일 수 있다. 간단한 template 파일을 만들어 놓으면 PR 요청시 해당 template이 자동으로 로드되어 아주...편하게(?) 사용하는 방법을 공유한다! 1. PR 템플릿 생성 - 프로젝트 루트 디렉토리에 .github 디렉토리를 만들고, 그 안에 PULL_REQUEST_TEMPLATE.md 파일을 생성 - 여기에 PR 템플릿 파일들을 추가할 수 있음 (여러개의 template 파일 선택 가능) 2. 템플릿 파일 작성 - PR을 오픈할 때 보여줄 템플릿을 작성 - Markdown 형식으로 작성하며, 필요에 따라 다양한 섹션을 추가 가능 - 예를 들어, 아래와 같은 템..
git revert VS git reset - 둘 다 Git에서 이전 커밋을 조작하는 데 사용되지만, 그 방식과 목적에 있어서 중요한 차이가 있음 1. git revert 목적: 이전 커밋을 취소하고, 이전 상태로 돌아가면서 새로운 커밋을 생성 -> 다시 말해, 특정 커밋의 변경사항을 되돌리면서, 새로운 커밋을 만들어 현재 브랜치에 적용 사용 시나리오: 이미 공유된 브랜치에서 커밋을 취소하고자 할 때, 특히 이미 리모트 저장소에 푸시된 상태에서 사용 git revert 2. git reset 목적: 특정 커밋을 특정 지점까지 하나 이상의 작업트리, 인덱스, 커밋에 대해 이전 상태로 되돌림 -soft, -mixed, -hard 와 같은 옵션을 사용하여 작업트리 및 인덱스까지 리셋 여부를 결정 사용 시나리오..
airlfow에서 많은 Dags를 운영중이면 당연히 많은 task가 실행될때!! >> 각 task가 실행되며 각자의 우선순위에 따라 airflow가 제한된 리소스내에서 실행시킬 task 우선순위 전략을 짬 Airflow 전략 방법 - priority_weight와 weight_rule으로 나눌수 있으며 - 각 task는 priority_weight를 가지며, default로 1의 값을 가짐 - weight_rule은 downstream, upstream, absolute가 있으며, default는 downstream weight_rule - downstream : 가중치는 다운스트림 priority_weight 누적 합계로 계산 - upstream : 가중치는 업스트림 task의 priority_weig..
Sequential task loop로 연결하기 예를 들어 단순 반복되어 길게 연결되는 task가 있다면...어떻게 연결할까? t1 >> t2 >> t3 >> t4 >> t5 >> ... >> t100 까지 직접 연결하는 것은 매우 비효율적이다.. 병렬 연결이야 start >> [t1, t2, t3,..] 로 묶으면 되지만... 이럴때 간단한 파이썬 코드로 구성하는 방법을 정리한다. 1. 파이썬코드 설정 from datetime import datetime, timedelta from airflow import DAG from airflow.operators.python import PythonOperator default_args = { "owner": "airflow", "start_date": da..
Airflow execution_date (logical_date) - execution_date는 DAG 인스턴스가 실행되는 시점의 날짜와 시간을 나타냄 - 스케쥴링 전략에 따라 정해지는 실행 시간 -> schedule_interval에 의해 결정 - 스케쥴링에 의해 실행되지만 이전 스케쥴된 시간이 execution_date가 됨 >> execution_date = dag이 실해되는 시간 - schedule_interval 예시 - 매일 5시(하루1번)에 실행되도록 만든 DAG가 있다. (00 17 * * *) ㄴ 실행시간 : 2023-03-15 17시 이면 : execution_date -> 2023-03-14 17시 - 매시 10분 (하루 24번)에 실행되도록 만든 DAG가 있다. (10 * * *..
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리하는 오픈소스 플랫폼입니다. 이 를 통해 애플리케이션의 개발과 배포가 훨씬 효율적이고 안정적으로 이루어질 수 있습니다. 쿠버네티스는 여러 대의 서버(호스트)를 클러스터라는 그룹으로 구성하고, 이 클러스터 내에서 동작하는 컨테이너화된 애플리케이션을 관리합니다. 각각의 서버는 워커 노드(Worker Node)라고 불리며, 이 노드들은 쿠버네티스 클러스터의 일부가 됩니다. 쿠버네티스의 핵심 개념 중 하나는 파드(Pod)입니다. 파드는 하나 이상의 컨테이너 그룹을 포함하며, 이 컨테이너들은 함께 동작하고 네트워크와 스토리지 리소스를 공유할 수 있습니다. 즉, 파드는 애플리케이션의 기본 실행 단위입니다. 쿠버네티스는 파드를 생..
jenkins에서 ui상에 git branch목록을 나타내서 선택후 배포하는 방법은 1. jenkins list git branches 이용하여 목록화 하는 방법 2. git parameter를 사용하고 scm으로 git url 받는 방법 그러나 1, 2번 2가지 케이스를 사용하지 못하는 경우가 있다. 간혹 직접 파이프라인을 만들어야한다던가, 버전의 문제로 list git branches 플러그인을 설치하지 못하던가.. 이럴때는 젠킨스 파이프라인에서 직접 git에 붙어 브랜치 목록을 가져와 만드는 방법이 있다. - 내부에서 groovy로 브랜치 목록을 가져오는 함수를 만들고 - parameter 선언에서 choice할 목록을 넣어준다. 젠킨스 파이프라인 def getGitBranches(repoUrl) ..
pre-commit pre-commit은 Git 저장소에서 코드를 커밋하기 전에 코드의 품질과 스타일을 검사하기 위한 도구입니다. 이를 통해 코드의 일관성과 가독성을 높이고 버그를 예방할 수 있습니다. pre-commit은 다양한 언어와 도구를 지원하며, 사용자가 직접 검사 도구를 선택하고 구성할 수 있습니다. pre-commit 설치 방법 pre-commit을 사용하려면, 우선 설치가 필요합니다. pre-commit은 Python 패키지로 제공되며, pip를 사용하여 설치할 수 있습니다. pip install pre-commit pre-commit을 사용하여 코드 품질 검사하기 pre-commit을 사용하여 코드 품질 검사를 수행하려면, 먼저 .pre-commit-config.yaml 파일을 프로젝트 ..