[BI/시각화] Superset
·
Minding's Programming/Knowledge
SupersetLooker, Tableau 등 다양한 시각화 도구들이 있지만, 기능이 많은 만큼 배우기 다소 어렵거나 비용이 든다는 단점이 있다. Superset은 Airbnb에서 시작된 시각화 관련 오픈소스로, 다양한 형태의 시각화와 손쉬운 인터페이스를 지원한다. SQLAlchemy와 연동되어 다양한 DB를 지원하고, 실시간 데이터 시각화 및 API와 플러그인 아키텍처로 확장성도 좋다. Superset은 Flask와 React JS로 구성되어 있으며, sqlite를 메타데이터 DB로 사용한다. Redis를 캐싱 레이어로 사용하고, SqlAlchemy가 백엔드 DB 접근에 사용된다. Preset으로 Superset 사용해보기Superset은 크게 2가지 방법으로 사용해볼 수 있다. 첫 번째 방법은 pre..
[Snowflake] Snowflake 알아보기 (설치 방법)
·
Minding's Programming/Knowledge
Snowflake?Snowflake는 2014년에 출시한 데이터 저장부터 시각화, 머신러닝까지 가능한 클라우드 플랫폼이다. 글로벌 클라우드라고 불리는 AWS, GCP, Azure에서 모두 동작할 수 있어 많은 회사들이 Snowflake를 선택하고 있기도하다. 데이터 판매가 가능하기도 하며, ETL과 관련된 다양한 데이터 통합 기능을 제공한다. Snowflake의 특징가변 비용 모델: 스토리지와 컴퓨팅 인프라가 별도로 설정됨SQL 기반 데이터 처리 가능CSV, JSON, Parquet 등 다양한 데이터 포맷 지원배치 데이터 중심이지만 실시간 데이터 처리도 지원Time Travel 기능으로 과거 데이터까지 분석 가능웹 콘솔 및 Python API로 관리/제어 가능 (ODBC, JDBC 연결 지원)클라우드 스..
[AWS] AWS Redshift Spectrum으로 S3 외부 테이블 조작해보기
·
Minding's Programming/AWS
Redshift SpectrumRedshift Spectrum은 Redshift의 확장 기능으로, S3 스토리지에 있는 파일들을 마치 테이블처럼 취급해 SQL로 조작할 수 있도록 만드는 기능이다. S3의 있는 파일을 Redshift로 옮겨와야할 때, 크기가 너무 크거나 너무 정제되지 않은 채로 업데이트할 경우 비용이나 용량 문제가 발생할 수 있다. 이럴 때, Redshift Spectrum을 이용해 파일에서 필요한 정보들만 redshift에 옮겨올 수 있다. Fact 테이블과 Dimension 테이블Spectrum을 이용하기에 앞서, 분석 대상 데이터를 크게 2가지 테이블로 나눌 수 있다는 점을 알아보자. 아래와 같이 분석의 메인이 되는 Fact 테이블과 상세 정보를 제공하는 Dimension 테이블로 ..
[AWS] AWS Redshift Serverless 설치 (무료 평가판 / Free Trial)
·
Minding's Programming/AWS
AWS의 대표적인 데이터 웨어하우스 서비스인 Redshift는 Serverless를 처음 이용할 경우 3달 또는 300달러까지 무료로 이용할 수 있다. Redshift를 공부도 해볼 겸, Redshift Serverless를 설치하고 초기 설정까지 해보려고 한다. AWS 로그인 및 Redshift 진입AWS 홈페이지(aws.amazon.com)에 접속해 로그인한 뒤, Redshift 섹션으로 진입하면 위와 같은 화면이 나올 것이다. 아직까지 해당 계정으로 Redshift를 사용해본 적이 없기 때문에, '무료 평가판 사용해보기'라는 버튼이 노출된다. 해당 버튼을 눌러 Redshift Serverless 설치 과정을 시작해보자. (주의: 이 화면 아래로 내려가 '클러스터 생성' 버튼을 누르면 Serverle..
[AWS] ApiGateway
·
Minding's Programming/AWS
ApiGateway AWS의 ApiGateway는 서버 없이 게이트웨이 기능을 이용할 수 있도록 해주는 서비스다. API를 생성, 배포, 유지 및 관리할 수 있는 완전 관리형 서비스다. 기능RESTful 및 WebSocket API 지원트래픽 관리보안모니터링 및 로깅개발자 포털 지원API 유형HTTP, WebSocket, REST API, 프라이빗 REST API까지 여러 유형의 API를 생성할 수 있다. 이 글에서는 REST API를 생성해보는 과정을 작성해보려고 한다. 위 정보를 입력한 뒤 API 생성을 클릭해 생성한다. 이 다음 리소스를 생성해주어야 한다. '리소스 생성' 버튼을 눌러 리소스를 생성해보자. 간단히 test라는 이름의 리소스를 생성했다. 다음 순서는 메서드 생성이다. 위에서 만든 /t..
[AWS] Lambda
·
Minding's Programming/AWS
Lambda Lambda는 AWS의 대표적인 서버리스 서비스이다. 별도의 물리적인 서버없이 등록한 함수가 실행될 수 있도록 설정할 수 있다. Lambda는 마치 Python의 lambda 함수처럼 어떤 함수 하나를 등록해 사용할 수 있다. AWS Lambda 함수 생성'함수 생성' 버튼을 통해 Python 함수 하나를 등록하고 실행해보자. 아래 함수는 AWS의 s3에서 트리거(온도)를 전달 받아 온도의 정도(뜨거운지 아닌지)를 판단하는 함수이다.import jsonimport boto3from datetime import datetimeclient = boto3.client('s3')def lambda_handler(event, context): what_time = datetime.now().st..
[AWS] ECS / ECR
·
Minding's Programming/AWS
ECR ECR은 Docker의 Dockerhub와 같이 AWS에서 제공하는 이미지 저장공간(레포지토리)이다. ECR을 통해 컨테이너 이미지를 공개 또는 비공개적으로 공유할 수 있다. 해당 메뉴는 ECS 내에 존재한다. ECS ECR에 저장되어 있는 이미지를 기반으로 가상화된 서비스를 제공한다.  ECR 생성기본 레포지토리 생성 방법은 간단하다. 레포지토리 이름만 적은 뒤 생성을 눌러주면 된다. 아직은 이미지가 없는 빈 레포지토리인 것을 볼 수 있다. 오른쪽 상단 '푸시 명령 보기'를 누르면 이미지를 업로드할 수 있는 방법을 알려준다. 위 순서대로 준비한 Dockerfile을 업로드해줄 수 있다. 하지만 그 전에 ECR에 접근할 수 있는 권한을 먼저 설정해줄 필요가 있다. IAM에서 ecr-fullacce..
[Docker] Docker의 개념 및 기본 실행 명령어
·
Minding's Programming/Knowledge
Docker Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있게 해주는 Linux 컨테이너 기반 플랫폼이다. 애플리케이션과 관련된 라이브러리와 종속성을 하나의 패키지로 묶어 어디서든 일관된 환경에서 실행되도록 해준다. 이전에는 하나의 PC(또는 서버)에 가상화(Virtual Machine)를 통해 여러 개의 애플리케이션을 실행시키는 방법이 많이 사용됐다. 하지만 최근에는 Docker를 통해 각 컨테이너 별로 애플리케이션을 실행시키는 방식이 많이 도입되고 있다. 하나의 하드웨어에서 여러 개의 소프트웨어를 실행시킨다는 기본적인 개념은 같지만, Docker를 쓰기 시작한 데에는 많은 이유가 있다. 특징가상 머신(VM)Docker 컨테이너운영체제각 VM마다 별도의 게스트 OS 필요호스트 O..