전체 글

데이터 분석 및 시각화/데이터 시각화

[SUPERSET] 아파치 슈퍼셋(superset) 소개 및 설치

소개 Apache Superset은 데이터 시각화 및 비즈니스 인텔리전스(Business Intelligence, BI) 플랫폼으로, 데이터 분석 및 대시보드 작성을 위한 다양한 기능과 도구를 제공합니다. 다음은 Apache Superset의 주요 특징과 장단점입니다: 장점 다양한 데이터 소스 지원: Apache Superset은 다양한 데이터 소스에 대한 연결과 쿼리 작성을 지원합니다. 주요 데이터베이스 시스템과 연동하여 데이터를 시각화하고 대시보드를 생성할 수 있습니다. 시각화 기능: Superset은 다양한 시각화 차트와 그래프를 제공하여 데이터를 직관적으로 이해하고 전달할 수 있습니다. 사용자는 차트 유형, 축 설정, 필터링 등을 사용하여 데이터를 시각적으로 탐색하고 인사이트를 발견할 수 있습니다..

데이터 엔지니어링/하둡 에코 시스템

[MongoDB]pymongo로 간단한 프로그램 만들기

오늘은 pymongo의 CRUD를 활용해서, 가벼운 프로그램을 만들어보겠습니다! 1. MONGO DB CONNECTION from pymongo import MongoClient import pandas as pd from tabulate import tabulate from bson.objectid import ObjectId def connect_mongodb(): client = MongoClient("mongodb://localhost:27017") mydb = client["signup"] mycoll = mydb["userinfo"] return mycoll Mongo DB에 연결합니다. 저는 database는 signup, collection으로는 userinfo를 사용했습니다. 2. 회원 ..

데이터 엔지니어링/하둡 에코 시스템

[MONGODB] 몽고DB 로컬에 설치하고 파이썬 연동하기

안녕하세요. 오늘은 MongoDB를 로컬에 설치하고, 파이썬에 연동해보겠습니다! https://www.mongodb.com/try/download/community Try MongoDB Community Edition Try MongoDB Community Edition on premise non-relational database including the Community Server and Community Kubernetes Operator for your next big project! www.mongodb.com 먼저 해당 사이트에 접속해서, 하단으로 내리시다보면 다운로드 받는 곳이 있습니다. 버전과 플랫폼을 확인 후 msi 형태로 다운로드 받아줍니다. 1. MONGO DB 로컬 설치 (1) 설..

프로젝트 회고록/음악 평론 웹 제작 프로젝트

4. 참조 무결성 제약 조건으로 인한 DAG 수정

안녕하세요. 오늘은 이번에 TEST DB에서 저희가 개발해놓은 운영 DB로 옮기는 과정에서 생긴 오류에 대해서 포스팅하겠습니다! 일단 간단히 말씀드리면, TEST DB에서 테이블 간의 관계를 생각하지 않고, DAG를 짰고 그 과정에서 SPOTIFY API의 특성을 생각하지 못했던 점이였습니다 ㅜㅜ. SPOTIFY API 글로벌TOP50 트랙(매일 업데이트)을 뽑고, 그 트랙 속에서 아티스트를 추출하고나서, 아티스트의 HOT TRACK 10곡을 뽑아서, 트랙 세부 정보와 트랙 오디오 세부 정보를 뽑는 DAG였습니다. 그런데 아티스트의 HOT TRACK 10곡을 뽑는 API에서, 조회한 ARTIST의 HOT TRACK에는 아티스트가 피처링으로 참여한 곡도 포함되어있었습니다. 그러다보니, 곡의 세부 정보를 봅..

데이터 엔지니어링/하둡 에코 시스템

[HIVE] 기본 개념 및 실습

안녕하세요! 오늘은 PIG에 이어서, HIVE에 대해 알아보도록 하겠습니다. HIVE Hive는 하둡에서 데이터를 처리하기 위한 데이터 웨어하우징 솔루션 중 하나입니다. Hive는 SQL을 사용하여 대규모 데이터 집합을 분석할 수 있도록 해주는 데이터 웨어하우스 솔루션입니다. Hive는 하둡 기반의 분산 데이터 저장소에서 SQL 쿼리를 실행할 수 있도록 해주는 인터페이스를 제공합니다. Hive는 HiveQL이라는 SQL과 비슷한 언어를 사용하여 데이터에 대한 쿼리 및 분석을 수행합니다. HiveQL은 기존의 SQL과 유사하며, 사용자는 대부분의 경우 HiveQL을 배우기 쉽습니다. 또한 HiveQL은 사용자가 쉽게 커스텀 함수와 집계 함수를 정의하고 사용할 수 있도록 해줍니다. Hive는 맵리듀스와 같은..

프로젝트 회고록/음악 평론 웹 제작 프로젝트

3. S3 데이터 가공해서 MYSQL로 적재하기

이번 포스팅에서는 S3에 있는 데이터를 가공해서, MYSQL로 적재하는 TRANSFORM, LOAD 과정을 작성하겠습니다. 아무래도, 각각 데이터 특성이 다르다보니까, ETL 과정에서도 조금 다른 방식의 가공과 적재 방법을 사용했습니다. 일단 학습에 목적을 두기도 했지만, 실무에서 어떤 방식으로 응용될지도 조금 고민해볼 수 있었던 것 같습니다. 데이터 파이프라인 일단 이번 DAG의 파이프라인은 이렇습니다. 사실 지금은 태스크 별로, S3 데이터를 읽는게 아니라, 전역변수로 S3에서 읽고 있는데, 만약에 EC2 환경에서 메모리나 이런 부분들이 부족하다면, 태스크별로 S3에서 데이터를 읽고와서, TASK를 마무리하면 그 때 해당 변수를 제거하는 식으로 메모리를 컨트롤할 수 있을 것 같습니다. 지금은 매일 업..

프로젝트 회고록/음악 평론 웹 제작 프로젝트

2. SPOTIFY 데이터 AIRFLOW로 S3에 업로드하기

안녕하세요. 이번에는 저번 포스팅에 이어서, SPOTIFY API를 활용해서, AIRFLOW로 S3에 업로드하는 과정을 자동화한 것에 대해서 작성하겠습니다. 확실히 S3에 업로드 하는 과정에서 조금 고민거리들이 많았는데, 일단은 진행하면서 배우는 중입니다. 그럼 이 과정들을 소개해보도록 하겠습니다. 데이터 파이프라인 설계 일단 AIRFLOW로 S3에 업로드하는 것은, EXTRACT 과정으로 삼았습니다. 원본 데이터를 JSON에 그대로 저장하고 S3에 업로드해서 AIRFLOW 스케줄러에 문제가 생겼을 때도, 어느 정도 복구할 수 있도록 S3를 거쳐가도록 파이프라인을 설계했습니다. 일단은 Spotify_Extract_toS3의 DAG의 파이프라인입니다. 일단 순서는 다음과 같습니다. globaltop50 데..

AWS

[S3] 버킷 생성 및 boto3 파일 업로드, 파일 읽기 실습

이전 포스팅에 이어서, 직접 S3에서 버킷을 생성해보고, 접근 권한을 퍼블릭으로 전환한 뒤, 로컬 환경에서 S3에 JSON 파일을 GET, POST 해보는 방법을 포스팅해보겠습니다!! 버킷 생성(권한 : 퍼블릭 액세스) (1) 먼저 S3 사이트에 접속하고 버킷 만들기를 클릭합니다. (2) 버킷 이름은 전역 고유기 때문에, 잘 작성해주시고, 리전을 선택하신 뒤 넘어갑니다. (3) 이 부분을 액세스 차단을 해제해줍니다. 퍼블릭 액세스 관련 옵션인데, 퍼블릭 액세스를 켜려면 이 부분을 해제 해주셔야합니다. (4) 다른 옵션은 그대로 두고, 버킷을 만듭니다. (5) 일단 버킷을 생성하면, 저 부분이 퍼블랙 액세스 가능이 아니라, 퍼블릭 액세스 가능하게 할 수 있음?? 이렇게 적혀 있을 겁니다. 저희의 목표는 퍼..

AWS

[S3] AMZON S3 기초개념

본 포스팅은 유튜브 AWS 강의실 님의, 강의를 바탕으로 작성되었습니다. https://www.youtube.com/watch?v=LazOCTfdSeQ&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=21 S3 S3는 SIMPLE STORAGE SERVICE로, S 3개를 포함해서 S3라고 부릅니다. S3는 99.999999999%(eleven nine) 내구성을 제공합니다. 전 세계 기업의 수백만 애플리케이션을 위한 데이터를 저장합니다. 이는 객체 스토리지 서비스로, 파일을 저장하기 위해서 사용됩니다. 단 S3는 이런 특징을 가집니다. 애플리케이션 설치 불가능 글로벌 서비스 단, 데이터는 리전에 저장 데이터가 해당 리전을 나가지 않아야합니다. 무제한 용량 하나의 객체는..

프로젝트 회고록/음악 평론 웹 제작 프로젝트

1. SPOTIFY API로 데이터 추출하기

안녕하세요! 저번에는 음악 평론 웹 제작 프로젝트를 미니 프로젝트로 진행하면서, 웹의 뼈대 정도는 만들어둔 상황입니다. 아직 프론트도 제대로 구현되지 않았고, 백 쪽도 확실하게 되진 않았습니다!! 전부 완성이 되면 기능 소개글도 한번 올려보겠습니다. 그런데 뒤에 데이터 파이프라인을 만들기가, 영 쉽지 않습니다.... 특히 SPOTIFY API 에서 주는 데이터들이 그렇게 친절하지 않아서..? 직접 오류를 제어하면서 뽑는 코드를 만들려니 고생 꽤나 했는데, 재밌습니다..하하; 그래서 SPOTIPY라는 누군가 만들어둔 라이브러리를 발견하고 쓰려고 했는데, 이건 오류제어를 하면서, 계속해서 API 호출을 할 수 없었습니다. 그래서 대표적인 에러를 제어하는 방식으로, 모듈을 조금 만들어봤습니다. 일단은 데이터엔..

데이터 노하우

데이터엔지니어링 관련 질문 모음집(20230512)

(1) PIG랑 HIVE, SPARK은 결국에 비슷한 기술 같은데 용도가 다른 점이 있을까요? PIG, HIVE는 디스크 기반 분산 처리 프레임워크기 때문에, 속도가 느리더라도 한번에 큰 파일을 다룰 수 있다는 점에서 적합합니다. 하지만 SPARK은 가공하려는 데이터를 메모리 위로 올려서 가공하기 때문에, 엄청나게 큰 파일을 가공하는데에는 한계가 있습니다. 따라서 큰 조직의 회사에서는 SPARK을 스트림 처리를 위해 사용하고, PIG, HIVE는 배치 처리를 위해 사용합니다. 물론 날마다 쌓이거나 하는 데이터의 크기가 SPARK으로 감당이 된다면, SPARK을 통해서 처리할 수도 있습니다. (2) HDFS에 있는 데이터를 처리해서, RDB 혹은 NOSQL로 계속 적재하면 DB에 결국 DB에 부하가 올 것..

데이터 엔지니어링/하둡 에코 시스템

[PIG] 기본 개념 및 실습

PIG Pig는 대규모 데이터 처리를 위한 분산형 쿼리 언어 및 실행 환경입니다. Pig는 Hadoop에서 실행되며, Hadoop 클러스터 내에서 대규모 데이터 집합을 처리하는 데 사용됩니다. Pig는 구조화되지 않은 데이터를 처리하는 데 적합한 언어로, 데이터를 표현하는 방식이 일반적인 행-열 구조가 아니더라도 데이터를 처리할 수 있습니다. Pig는 SQL과 유사한 구문을 제공하며, 사용자는 SQL과 유사한 방식으로 데이터를 처리할 수 있습니다. Pig는 다양한 데이터 소스 (예 : HDFS, HBase, Amazon S3 등)에서 데이터를 읽어들이고, 이를 다양한 대상 (예 : HDFS, HBase, Relational Databases 등)으로 쓸 수 있습니다. Pig는 스크립트로 작성되며, 이를 ..

우상욱
데이터엔지니어스터디