분류 전체보기
-
도커를 공부하다보면 마주치게 되는 가상화란, 가상화의 종류CS기초/OS,HW 2022. 12. 18. 22:34
가상화는 이해하기 어렵다. 그 이유는 추상적이고 눈에 보이지 않는 개념이기 때문이다. 수학을 잘하는 사람이 물리를 못하는 이유와 같다 (=나). 4차원, 5차원 공간이 나오고 중력에 대해 이야기 하는데, 나는 그것을 본적이 없어서 그저 머리로 상상해서 그려야하기 때문이다. 그래서 자료를 많이 보고, 실제로 사용해보는 수 밖에 없다. 그러니 처음 공부하는 사람들이 가상화 자료를 몇 번 읽어 봤다 해서 이해가 안 되는 것은 당연하니, 이 글이 위안이 되었으면 좋겠다 (사실 나도 아직 잘 모르겠다). 가상화는 말 그대로 하나의 물리 리소스를 여러 개인 것 처럼 나누는 것이다. 맥에서 도커를 띄우려면 Docker Desktop이라는 것을 설치해야하는데, Docker desktop 환경 설정에 보면 하드웨어 리소..
-
Terraform Up & Running (3판 원서) : 1. Why Terraform (테라폼을 사용해야하는 이유)Data Engineering/Books 2022. 12. 18. 19:42
Datahub을 구축할 때 Terraform을 사용했는데 그냥 예제 코드 보고 배끼다 보니 코드에 대한 이해가 거의 없이 작성했다. 사실 코드가 굉장히 직관적이라 언어 수준이라기 보다는 라이브러리 수준인데, 인프라 구축할 때 활용하면 좋을 것 같아 간단히 스터디해보기로 했다. 원서이긴 하지만 실용서다보니 어려운 용어가 아예 없어 사전 없이도 읽을 수 있는 가벼운 책이다. 1장은 DevOps의 탄생과 코드로 인프라를 구축해야하는 이유에 대해서 간단히 설명한다. 이 책에 AWS와 테라폼을 사용한 책이다 보니 결론은 AWS와 테라폼이 왜 좋은지에 대해서 나열한 장이라 크게 비중을 두지 않고 가볍게 읽거나 그냥 지나가도 좋은 chapter이다. What Is DevOps?: DevOps의 탄생 과거 Dev(De..
-
Collecting Event Data 0. Entire Pipeline (전체 파이프라인)Project/Collecting Event Data 2022. 12. 16. 20:48
이제와서 느끼는건데 너무 프로젝트 초반부터 블로그에 글을 쓰면 정말 기록용 정리되지 않은 개발새발 글이 될 수 있는 것 같다. 그런 글도 필요하긴 하지만.. 내 블로그의 정체성이 노트인지 정리용인지 희미해지는 순간 Main Purpose - Collecting users' viewed/clicked event data - Build a separate server for event data to prevent serveice server overloaded Pipeline - API Server: AWS Elastic Beanstalk (Stage, Production) - Data Lake: AWS S3 (Tier1, Tier2) - Data Warehouse: AWS Redshift - Dashboa..
-
Pyspark Dynamic Frame에서 JSON을 요소로 가지는 배열 해체해서 컬럼으로 만들기 (make lists of JSON to columns of a dynamic frame)Data Engineering/AWS, Spark 2022. 12. 15. 01:31
데이터 전처리나 ETL을 하다보면 여러가지 형태의 데이터들을 파싱하게 되는데, 이번 포스팅에서는 pyspark dynamic frame에서 한 필드(행/컬럼)의 값이 array[json] 형태로 되어 있을 때 각 열의 array를 해체한 뒤 내부의 json의 키를 해당 dynamic frame의 새로운 필드로 설정하고 해당 키의 값을 필드의 값으로 넣는 과정을 설명하려고 한다. 글로 적으니까 되게 복잡한데 코드는 생각보다 짧다 (relationalize 메서드가 다 알아서 해줌) 1. DynamicFrame 클래스의 relationalize 메서드를 사용해 대상 dynamic frame과 1:N 관계를 갖는 JSON의 각 키를 필드로 가지는 새로운 dynamic frame을 생성한다. 2. 기존 dyna..
-
네트워크: 초보도 이해하길 바라는 CIDR블록이란?CS기초/Network 2022. 12. 4. 00:33
CS는 추상적일수록 어려운데, 그래서 운영체제와 네트워크가 정말 어렵다. 공부할 수록 어려움. 근데 설명되어있는 자료도 무슨말인지 모르겠어서 차라리 내가 적어보자하는 취지에서 적는 포스팅 (위키백과는 언제나 함께보면 좋습니다.) IPv4기준, IP주소는 사람이 볼 때는 10진수 4자리로 표기되지만, 컴퓨터가 이해할 때는 2진수 32자리로 처리되며, 비트단위로 끊어서 10진수를 2진수로 변환한다. 즉, 10진수.10진수.10진수.10진수 -> 2진수 8자리.2진수 8자리.2진수 8자리.2진수 8자리 => 8x4 => 32비트로 변환된다 (참고로 IPv4가 4옥텟이라서 IPv6는 6옥텟이고 48비트인가라고 생각할 수 있는데 IPv6은 16진수를 사용하고 8옥텟으로 표현함. IPv6 위키문서는 안 어려우니 한..
-
HA(High Availability)란?Data Engineering/분류하기 애매한 것들 2022. 12. 3. 21:24
EKS 쓰면서 HA라는 용어를 많이 읽었는데 난 처음에 무슨 기술 이름인 줄 알았다. 알고보니 High Availability의 줄임말이었다. Full Words를 알고 나니 왜 EKS를 볼 때 많이 보였는지 알 것 같았다. High Availability, 한국어로 고가용성이란 이상적으로는 영원하다 할 수 있는 긴 시간동안 계속해서 시스템이 운영될 수 있는 것을 의미한다. 쉽게 말해, 가용성이 높은 서버라는 것은 서버가 "가용"할 수 있는 수준이 "높다", 즉, 오랫동안 안 죽고 살아있다는 것을 의미한다. 고가용성이 매우 높으면 Five9 (99.999%)로 표현되기도 한다고 한다 (첨들어봄..) 현대의 시스템은 하나의 소프트웨어나 네트워크로 돌아가는 경우가 거의 없다. 따라서 연결되어 있는 모든 컴포..
-
Data Catalogue Platform 구축기: Prologue .Terraform으로 생성한 EKS 삭제(destory)하기. 나의 두 달 resetProject/D.D.P (Datahub) 2022. 12. 3. 19:40
8월 1일부터 10월 27일까지 여름 휴가, 중간에 치고 들어왔던 대시보드 작업 기간 제외하고 약 한 달에 걸쳐 ArgoCD와 Datahub으로 회사의 Data Catalogue Platform을 구축했다. 나름 큰 프로젝트인데다가 플랫폼부터 노드 수까지 전체 아키텍쳐를 내가 그려야했기에 불안함도 컸고, 물론 레퍼런스들을 따라갈 수 있었지만 또 성격상 그 레퍼런스가 우리 회사에 최적이 맞는지 검증해야만 쓰는 성격이기 때문에 하나하나 뜯어보느라 오래걸리기도 했으며, 개발이 막힐 때면 어디 물어볼 데가 없어 답답한 날들의 연속이었다. 더군다나 아무런 output도 없이 시간을 흘려보내고 있는데 회사에서는 나에게 월급을 주고 있다는 부분이 고마우면서도 빨리 결과를 내야겠다는 요소로 작용했던 것 같다. 그럼에도..