
이 책은 CKA 취득 후에 Kubernetes 환경에서 airflow와 trino 그리고 kubeflow를 활용한 MLops 프로젝트를 위해서 사전에 공부를 하게 될 겸 읽게 되었습니다. 책을 읽으면서 예제 코드를 실습할 때 CKAD를 병행하여 재밌게 읽었던 거 같습니다. 이 책은 쿠버네티스에 애플리케이션을 배포하거나 쿠버네티스 기반 애플리케이션에 적용할 수 있는 패턴과 사례를 배우려는 실무자를 대상으로 하고 있습니다. 쿠버네티스를 활용한 애플리케이션 개발, 운영 환경 구축에 필요한 포괄적인 지식을 제공하며 각 패턴별로 모범 사례를 소개하고 있어 실무를 하는데 많은 도움이 될 거 같습니다. 글로벌 애플리케이션 분산: 사용자 경험 향상을 위해 애플리케이션을 글로벌하게 분산 배포하는 전략을 탐구합니다. 레이..

AWS EMR 데이터 파이프라인을 운영하면서 다루었던 스킬 셋에 대해서 정리를 할 겸 시험을 보게 되었습니다. 시험을 보게 된 계기는 "AWS상에서 EMR에서 spark를 이용해서 대용량 데이터 처리를 하였고 EC2 상에서 Airflow를 활용하여 오케스트레이션을 개발 및 운영하였고 AWS EKS의 추천모델을 위해서 전처리 경험이 있습니다."라고 하는 것보다 "AWS 어쏘 자격증 하나 있습니다. AWS에 대해서 기본은 다룰 줄 압니다."라고 말하는 게 편하게 때문이었습니다. AWS SAA-C03 합격 후기를 남기고자 합니다. 시험 범위 AWS의 자격증은 다음과 같습니다. 현재 Data Analytics와 Database, SAP on AWS가 24.4월 이후로 만료가 되는것으로 알고 있습니다. 이번에 시..

실무에 사용한 데이터 엔지니어링 스킬에 대한 정리내용입니다. 개인적인 기록을 위해 작성하였습니다. Stored Program 스토어드 프로그램은 데이터베이스 시스템 내에서 정의하고 저장하여 재사용 가능한 SQL 문의 모음입니다. 이는 스토어드 루틴이라고도 하며, 스토어드 프로시저, 스토어드 함수, 트리거, 이벤트 등을 포함합니다 스토어드 프로그램의 장점 데이터베이스의 보안 향상 기능의 추상화 네트워크 소요 시간 절감 절차적 기능 구현 개발 업무의 구분 스토어드 프로그램의 단점 낮은 처리 성능 애플리케이션 코드의 조각화 스토어드 프로그램의 구조 정의부 : 스토어드 프로그램의 헤더 부분, 주로 스토어드 프로그램의 이름과 입출력 값을 명시하는 부분 본문 부분 : 스토어드 프로그램의 바디(Body)라고도 하며,..

플랫폼을 운영하면서 실제로 플랫폼 환경을 구축해보고 싶어 쿠버네티스 상에서 데이터 파이프라인을 구축하려고 합니다. [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(1) - Hive Metastore MySQL로 구성 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(2) - Hive Metastore 배포 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(3) - Trino 설치 및 연동 Trino와 MinIO 설정 MinIO 설정 MinIO 클라이언트 초기 설정 MinIO 클라이언트(mc)를 사용해 MinIO 서비스에 접속합니다. kubectl port-forward pod/minio 9000 9090 -n minio-dev ./mc alias s..

플랫폼을 운영하면서 실제로 플랫폼 환경을 구축해보고 싶어 쿠버네티스 상에서 데이터 파이프라인을 구축하려고 합니다. 원천 데이터 소스의 경우 환경을 먼저 구축한 뒤에 데이터를 배치하려고 합니다. [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(1) - Hive Metastore MySQL로 구성 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(2) - Hive Metastore 배포 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(3) - Trino 설치 및 연동 Dockerfile 생성 Hive Metastore를 실행하기 위한 Docker 이미지를 만들기 위한 Dockerfile을 작성합니다. 하둡과 hive, mysql 커넥터의 경우 링크에서..

플랫폼을 운영하면서 실제로 플랫폼 환경을 구축해보고 싶어 쿠버네티스 상에서 데이터 파이프라인을 구축하려고 합니다. 원천 데이터 소스의 경우 환경을 먼저 구축한 뒤에 데이터를 배치하려고 합니다. [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(1) - Hive Metastore MySQL로 구성 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(2) - Hive Metastore 배포 [GKE] Trino를 사용하여 MinIO에 저장된 데이터 쿼리하기(3) - Trino 설치 및 연동 Hive Metastore를 MySQL에 설정하고, Trino를 사용하여 MinIO에 저장된 데이터에 대한 쿼리를 실행하는 방법에 대해 포스팅하려고 합니다. Hive Metastore와 ..

쿠버네티스로 실무를 할 수 있을 거 같아서 미리 연초에 CKA를 준비하였고 쿠버네티스 관련된 책을 읽으면서 기본적인 지식은 있었습니다. 현재 내부사정으로 쿠버네티스 실무를 하고 있지는 않지만 gke 상에서 쿠버네티스를 활용해서 데이터 파이프라인 환경을 구성하면서 CKAD를 병행하면서 개념을 다시 잡으면 좋을 거 같아 시험을 보게 되었습니다. 11월 말에 사이버먼데이를 활용해 시험 50% 할인을 받았습니다. CKAD 시험과 관련된 후기를 남기고자 합니다. 시험 준비 시험 준비 기간은 3주 정도 소요되었으며 쿠버네티스 실무 경험은 없지만 CKA 자격증이 있었고 쿠버네티스 관련된 서적을 읽어서 기본적인 지식이 있는 상태였습니다. 또한 쿠버네티스 기반 사이드 프로젝트를 하고 있어서 시험을 준비하는데 많은 시간은..

이 책은 빅데이터를 지탱하는 기술, 데이터 파이프라인 핵심 가이드와 더불어 데이터 엔지니어링에 관한 기본서로 많은 내용을 담고 있습니다. 또한, 많은 분들께 추천을 받아 읽게 되었으며 데이터 수명 주기에 관해서 많이 공감하며 재밌게 읽었습니다. 이 책을 읽기 전까지 엔지니어가 결국 기업의 의사결정을 효율적으로 지원하는 역할을 해야 한다고 생각했습니다. 이에 따라 백엔드부터 비즈니스 인텔리전스, 인공지능, 머신러닝, 그리고 MLOps까지 다양한 분야를 고려해야 한다고 생각했습니다. 그러나 이 책을 통해 데이터 엔지니어의 궁극적인 목적과 역할에 대해 새롭게 조명을 받게 되었습니다. 데이터 엔지니어링의 생명주기는 데이터의 생성부터 저장, 수집, 변환, 그리고 서빙까지 이르며, 이 전 과정에 걸쳐 보안, 데이터..

Hive 메타스토어 데이터베이스 초기화 중에 발생한 'Table 'CTLGS' already exists' 오류는, Hive 메타스토어 스키마 초기화 과정 중 이미 존재하는 테이블에 대한 처리를 시도할 때 발생할 수 있습니다. Error: Table 'CTLGS' already exists (state=42S01,code=1050) com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'CTLGS' already exists 에러를 확인해 보니 메타스토어 데이터베이스가 이미 일부 스키마 구조를 가지고 있었습니다. mysql> select * from CTLGS; +---------+------+--------------------------+..

MinIO는 고성능, 오픈소스 객체 스토리지 서비스로, 클라우드 네이티브 환경에서 매우 유용합니다. 이번 포스팅에서는 Kubernetes 클러스터 상에서 Airflow와 MinIO를 연동하는 과정을 단계별로 살펴보겠습니다. MinIO 설치 및 설정 먼저, Kubernetes 클러스터에 MinIO를 설치해야 합니다. MinIO는 쿠버네티스 Pod로 실행되며, 이를 위해 YAML 파일을 사용하여 필요한 리소스를 정의합니다. MinIO 설치를 위한 minio-dev.yaml 파일 예시입니다. apiVersion: v1 kind: Namespace metadata: name: minio-dev --- apiVersion: v1 kind: Pod metadata: labels: app: minio name: mi..