융무의 기술블로그
article thumbnail
[de zoomcamp] 02_워크플로 오케스트레이션
PJT 2023. 5. 1. 20:22

데이터 엔지니어링 줌 캠프 PJT를 진행하면서 관련된 내용을 정리하고자 합니다. 프로젝트의 코드는 github에서 확인할 수 있습니다. https://github.com/mjs1995/data-engineering-zoomcamp/blob/main/02_workflow_orchestration/prefect_gcp.md GitHub - mjs1995/data-engineering-zoomcamp Contribute to mjs1995/data-engineering-zoomcamp development by creating an account on GitHub. github.com Prefect Cloud Storage 에서 BigQuery 데이터 베이스 로 Parquet 데이터를 수집하기 위해 Prefe..

article thumbnail
[de zoomcamp] 01_소개 및 사전 준비 사항
PJT 2023. 4. 30. 17:34

데이터 엔지니어링 줌 캠프 PJT를 진행하면서 관련된 내용을 정리하고자 합니다. 프로젝트의 코드는 github에서 확인할 수 있습니다. https://github.com/mjs1995/data-engineering-zoomcamp/tree/main/01_basics_n_setup GitHub - mjs1995/data-engineering-zoomcampGitHub에서 계정을 생성하여 mjs1995/data-engineering-zoomcamp 개발에 기여하십시오. github.com GCP 환경 세팅 프로젝트 이름에 dtc-de를 입력하고 프로젝트를 생성해 줍니다. SSH 세대 ssh-keygen을 이용해서 키를 생성해줍니다. 참고 링크 : https://cloud.google.com/compute/d..

article thumbnail
[de zoomcamp] Data Engineering Zoomcamp 소개
PJT 2023. 4. 30. 16:27

데이터 엔지니어링 줌 캠프 PJT를 진행하면서 관련된 내용을 정리하고자 합니다. 프로젝트의 코드는 github에서 확인할 수 있습니다. https://github.com/mjs1995/data-engineering-zoomcamp GitHub - mjs1995/data-engineering-zoomcamp Contribute to mjs1995/data-engineering-zoomcamp development by creating an account on GitHub. github.com 아키텍처 프로젝트에 관한 세세한 아키텍처는 다음과 같습니다. Technologies 사용하게 될 기술은 다음과 같습니다. Google Cloud Platform (GCP): 구글의 클라우드 기반 자동 확장 플랫폼 Go..

article thumbnail
Prefect 개요
Data Engeneering/workflow 2023. 4. 26. 22:04

개인 공부를 위한 포스팅입니다. Prefect Prefect는 Python 기반 워크플로 관리 시스템입니다. Prefect를 사용하면 로깅, 재시도, 동적 매핑, 캐싱, 실패 알림 등을 데이터 파이프라인에 쉽게 추가할 수 있습니다 Prefect는 Dask 위에 구축되었으며 Dask를 사용하여 분산 환경에서 Prefect 워크플로의 실행을 예약하고 관리합니다. Prefect는 워크플로의 일정을 처리 하고 Dask는 각 워크플로 내 작업 의 일정 및 리소스 관리를 처리합니다. 작업 예약: Dask는 워크플로우 내에서 모든 작업 예약을 처리하므로 Prefect는 Dask가 밀리초 대기 시간으로 예약하는 더 작은 작업을 장려할 수 있습니다. Dataflow: Dask가 작업 간의 적절한 정보 직렬화 및 통신을 ..

article thumbnail
dbt(Data Build Tool) 개요
Data Engeneering/workflow 2023. 4. 26. 00:01

개인 공부를 위한 포스팅입니다. dbt dbt(Data Build Tool)는 개발자가 BigQuery, Snowflake, Redshift 등과 같은 최신 데이터 웨어하우스에서 변환을 정의, 오케스트레이션 및 실행할 수 있도록 하여 데이터 모델 구축을 간소화하는 Python 오픈 소스 라이브러리입니다. ETL/ELT 프로세스의 T에 초점을 맞춘 거버넌스 도구라고 말할 수 있습니다. 이를 통해 SQL에서 모든 데이터 변환을 중앙 집중화하고 구축하여 재사용 가능한 모듈(모델)로 구성할 수 있습니다 dbt는 데이터 모델링을 SQL로 정의하고 관리하며, 모델이 실행될 때 데이터를 추출, 가공 및 저장할 수 있도록 도와줍니다. dbt는 Git 버전 관리 시스템을 사용하여 데이터 모델링 파일을 관리하며, 테스트,..

article thumbnail
embulk 코드

실무에 사용한 데이터 엔지니어링 스킬에 대한 정리내용입니다. 개인적인 기록을 위해 작성하였습니다. Embulk Embulk에 대한 자세한 내용은 링크를 참고해 주세요. https://mjs1995.tistory.com/242 embulk & digdag 실무에 사용한 데이터 엔지니어링 스킬에 대한 정리내용입니다. 개인적인 기록을 위해 작성하였습니다. https://github.com/mjs1995/muse-data-engineer/blob/main/doc/Data%20Ingestion/embulk.md GitHub - mjs1995/muse-data-eng mjs1995.tistory.com embulk를 설치합니다. # JRE 설치 sudo apt install default-jre # embulk ..

article thumbnail
[kubernetes] 쿠버네티스와 오브젝트 모델

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 쿠버네티스와 오브젝트 모델 마스터와 노드 쿠버네티스는 크게 마스터와 노드 두개의 컴포넌트로 분리 쿠버네티스 마스터 전체 쿠버네티스 시스템을 제어하고 관리하는 쿠버네티스 컨트롤 플레인을 실행합니다. 즉 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할입니다. etcd, kube-apiserver, kube-scheduler, kube-controller-manager 쿠베네티스 노드 실제 배포되는 컨테이너 애플리케이션을 실행합니다.실제 사용자가 사용하는 컨테이너들은 대부분 노드에서 실행합니다. 노드나 파드나 컨테이너처럼 쿠버네티스 위에서 동작하는 워크로드를 호스팅 하는 역할 노드에서 kubelet, kube-pro..

article thumbnail
[kubernetes] Deployment

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 디플로이먼트: 선언적 애플리케이션 업데이트 쿠버네티스에서는 일반적으로 Replication Controller(RC)를 이용해서 배포하지 않고 Deployment라는 개념을 사용합니다. 복제된(replicated) 애플리케이션을 관리하는 API 객체입니다. ReplicatSet(+Pod)을 생성합니다. 롤릴 업데이트 등을 할 때 RC를 두 개를 만들어야 하고 하나씩 Pod의 수를 수동으로 조정해야 하기 때문에 이를 자동화 해서 추상화한 개념이 Deployment입니다. 기본적으로 Replication Controleer (RC)를 생성하고 이를 관리하는 역할입니다. 특징 쿠버네티스가 애플리케이션의 인스턴스를 어떻게 생성하고 업..

article thumbnail
[kubernetes] Configmap & Secret

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 컨피그맵과 시크릿: 애플리케이션 설정 쿠버네티스에서는 설정 옵션을 컨피그맵이라 부르는 별도 오브젝트로 분리할 수 있습니다. 컨피그맵은 짧은 문자열에서 전체 설정 파일에 이르는 값을 가지는 키/값 쌍으로 구성된 맵입니다. 컨테이너에서 필요한 환경설정 내용을 컨테이너와 분리해서 제공해 주기 위한 기능 : 클라우드 네이티브 아키텍처에서 컨테이너는 변하지 않는 자원 비기밀 데이터를 키-값 쌍으로 저장하기 위해 사용하는 API 객체 컨테이너 이미지에서 설정 데이터를 분리(decouple)시키기 위한 것 컨테이너 이미지에서 사용하는 환경변수와 같은 세부 정보를 분리하고, 그 환경변수에 대한 값을 외부로 노출 시키지 않고 내부에 존재하는 ..

article thumbnail
[kubernetes] Volume

CKA 자격증 획득 이후 추후 실무를 위한 개념정리를 위해 포스팅된 글입니다. 볼륨: 컨테이너에 디스크 스토리지 연결 스토리지 볼륨은 파드와 같은 최상위 리소스는 아니지만 파드의 일부분으로 정의되며 파드와 동일한 라이프사이클을 가집니다. 파드가 시작되면 볼륨이 생성되고, 파드가 삭제되면 볼륨이 삭제된다는 것을 의미합니다. 볼륨 쿠버네티스 볼륨은 파드의 구성 요소로 컨테이너와 동일하게 파드 스펙에서 정의됩니다. 볼륨은 독립적인 쿠버네티스 오브젝트가 아니므로 자체적으로 생성, 삭제될 수 없습니다. 데이터를 담는 디렉터리로 Pod 내 컨테이너들이 접근가능합니다. Pod에 소속되는 동안 유지됩니다. Pod 내에서 구동되는 컨테이너들보다 오래 유지되며, 그 데이터는 컨테이너가 재시작되더라도 계속 보존됩니다. iS..