- 하둡 공부 4일차31514오늘은 하둡 에코시스템에 포함되어 있지는 않지만, 대용량 데이터를 다룰 때 유용한 몇 가지 쿼리 엔진에 대해 학습했다.쿼리 엔진 Drill, Phoenix, Presto를 소개하고자 한다.DrillDrill은 다양한 데이터 소스에 대해 SQL 쿼리를 실행할 수 있는 분산형 스키마리스 SQL 엔진이다.Drill은 아래와 같이 다양한 데이터 소스를 지원한다.파일 시스템 : CSV, JSON, Parquet, ORC, Avro 등NoSQL 데이터베이스 : MongoDB, HBase, Cassandra 등클라우드 스토리지 : Amazon S3, Google Cloud Storage 등관계형 데이터베이스 : MySQL, PostgreSQL, Oracle 등이처럼 Drill은 다양한 데이터 소스로부터 편리한 SQL..
- 2024-11-26 11:56:39
- 하둡 공부 3일차31514오늘은 하둡과 관련하여 비관계형 데이터베이스(NoSQL)에 대해 학습했고, 어떤 상황에서 어떤 저장소를 선택할지에 대해 알아봤다. HBaseHBase는 HDFS 위에서 작동하고 API를 통해 CRUD 연산을 할 수 있는 비관계형 데이터베이스이다.Master-Slave 구조를 가지고 있어서 Master가 모든 Slave 노드를 추적하며, Zookeeper를 통해 Master 노드를 추적한다.HBase는 키의 범위를 기준으로 데이터를 분산한다. HBase에는 Cell과 Column Family라는 개념이 있다.Row Keyuser:nameuser:emailstats:visits1Alicealice@email.com342Bobbob@email.com12Cell은 Row Key, Column(Column Fam..
- 2024-11-25 15:54:02
- 하둡 공부 2일차31514오늘은 저번 글에서 말했듯이, Spark와 Hive에 대해 공부했다.내 블로그를 보면 알 수 있듯이 Spark는 이미 다른 책을 통해 학습해둔 상태여서 이번 강의를 통해 복습을 할 수 있었다.굳이 새롭게 알게 된 사실을 말하자면 Spark에서 Python을 사용하는 것보다 Scala를 사용하는 것이 더 빠르다는데, 나중에 직접 경험해볼 수 있으면 좋을 거 같다.추가로 Spark는 디스크보다 인메모리 기반으로 데이터를 처리하기 때문에 처리 속도가 매우 빠르다.다른 글에 Spark에 대해 잘 정리되어 있으니, 이쯤에서 Hive 이야기로 넘어가보자. Hive도 SQL을 HiveQL이라는 이름으로 지원한다.실행 엔진도 MapReduce 뿐만 아니라 Tez, Spark 등 원하는 것을 선택하여 실행할 수 있다.그..
- 2024-11-22 14:32:40
- 하둡 공부 1일차31514이번에는 무엇을 공부해 볼까 하다가 하둡을 선택했다.사실 하둡의 역사와 어떤 구조를 가지고 있는지, 어떻게 데이터를 분산 저장하고 통신하는지 이론적으로 알고 있었다.하지만 하둡 저장소를 사용할 만큼 대용량의 데이터가 없었고, 어디서부터 시작해야 할지 막막했다. 열심히 찾아본 결과 유데미에서 케인 아저씨가 강의하는 하둡 강의를 찾게 되었다. 오늘은 하둡의 전체적인 생태계, MapReduce, Pig에 대해 공부하고 실습했다.하둡 에코 시스템은 HDFS와 YARN을 토대로 여러 컴포넌트들이 존재한다.우리가 흔히 알고 있는 Spark도 이에 포함된다. 하둡이 나온 지 얼마 되지 않았을 때는 데이터를 분석하기 위해 MapReduce를 사용했었다.이번 실습을 통해 파이썬 MRJob 라이브러리를 사용하여 간단한 코..
- 2024-11-21 17:31:01
- LeetCode SQL 모든 문제 해결!!!31514저번에는 프로그래머스에 있는 모든 SQL 문제를 해결했고, 이번에는 LeetCode에 있는 모든 SQL 문제를 해결했다.아쉽지만 무료로 접근 가능한 문제만 해결했다...그래도 SQL과 점점 친해지고 있음을 느낄 수 있었다. 다음에는 HackerRank 사이트를 활용할 예정이다!
- 2024-11-19 15:53:10
- 5장 - 수명 주기 1단계 원천 시스템에서의 데이터 생성31514개요일반적인 운영 원천 시스템 패턴과 중요한 원천 시스템 유형 설명시스템이 생성하는 데이터와 원천 시스템을 사용할 때 고려해야 할 사항 검토드러나지 않는 요소가 데이터 엔지니어링 수명 주기의 첫 번째 단계에 어떻게 적용되는지 논의원천 시스템에서 생성되는 데이터의 특성을 이해하는 것은 중요하다. 데이터 원천: 데이터는 어떻게 생성될까?파일과 비정형 데이터파일은 바이트의 시퀀스로서, 일반적으로 디스크에 저장된다.정형 - 엑셀, CSV반정형 - JSON, XML, CSV비정형 - TXT, CSV APIAPI는 시스템 간에 데이터를 교환하는 표준 방식이다.API가 데이터 수집 작업을 단순화하는 것 같지만, 실제로 많은 API가 여전히 데이터의 복잡성을 상당 부분 드러내고 있다.데이터 엔지니어는 종종 맞춤형 AP..
- 2024-11-15 11:41:09
- GCP VM Instance 저스펙으로 Airflow 서버 구축하고 안정적으로 크롤링하기31514첫 번째 문제 - Small Instance에 Airflow 서버 구축개인 프로젝트를 하면서 5분 단위로 크롤링하여 데이터를 수집하고 싶었다.이를 위해 Lambda + EventBridge와 EC2 + Airflow를 고민하다가 비용적인 측면에서 후자가 유리할 거 같았다.이 링크를 참고하여 최대한 스펙이 낮은 EC2에 Airflow 서버를 구축했다. 처음에는 1GB RAM을 가진 인스턴스에서 Airflow 서버 구축을 시도했지만 메모리 부족 한계에 부딪혔다.이에 따라 아래와 같이 스왑 메모리도 설정해봤지만 역부족이었다.sudo fallocate -l 3G /swapfilesudo chmod 600 /swapfilesudo mkswap /swapfilesudo swapon /swapfileecho '/sw..
- 2024-11-14 17:13:42
- 4장 - 데이터 엔지니어링 수명 주기 전체에 걸친 기술 선택31514데이터 엔지니어는 데이터 애플리케이션과 사용자에게 서비스를 제공하기 위해 수명 주기 전체에 걸쳐 데이터를 관리하는 적절한 기술을 선택해야 한다.많은 사람이 아키텍처와 도구를 혼동하는데, 아키텍처는 무엇을, 왜, 언제 구축해야 하는지 결정하고, 도구는 어떻게 구축할지를 결정한다.따라서 아키텍처를 올바르게 구축하기 전까지는 기술을 먼저 선택하는 일이 없도록 유의해야 한다. 이제 데이터 기술을 선택할 때 고려할 사항에 대해 알아보자. 팀의 규모와 능력cargo-cult engineering는 소규모 데이터 팀이 대기업의 기술과 사례를 모방하려다 실패하는 실수를 말한다.소규모 팀이나 기술력이 약한 팀이라면, 가능한 많은 관리형 도구와 SaaS 도구를 사용해서 비즈니스에 직접적으로 가치를 부여하는 것이 좋다.새로..
- 2024-11-13 11:39:43
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)