전체 글 373

Superset - 만들어 볼 대시보드 소개

만들어볼 두 개의 차트와 하나의 대시보드 1. 위와 같은 Key Metrics라는 이름의 대시보드를 만들겁니다. 2. 이 대시보드는 2개의 Chart로 이루어져 있습니다. - 하나는 MAU, 다른 하나의 이름은 Cohort입니다. 3. Database로는 Redshift를 사용할겁니다. 채널별 Monthly Active User(MAU) 차트 - 입력 테이블(Dataset)은 analytics.user_session_summary Monthly Cohort 차트 - 입력 테이블(Dataset)은 analytics.cohort_summary MAU 차트 입력: user_session_summary CREATE TABLE analytics.user_session_summary AS SELECT usc.*, ..

Superset

Airbnb에서 시작된 오픈소스 Airflow를 만든 Maxim이란 사람이 같이 시작한 오픈소스 Maxim이 만든 모든 것은 파이썬 기반 (Airflow, Superset 모두) - https://github.com/apache/superset - 현재 Airbnb의 전사 대시보드가 Superset Dropbox에서 데이터 Explore 대시보드로 사용 상용화 서비스도 시작됨 - Maxim이 직접 창업 - https://preset.io/ 여기에 무료 어카운트 생성 후 실습 Superset이란? 다양한 형태의 visualization와 손쉬운 인터페이스 지원 대시보드 공유 지원 엔터프라이즈 수준의 보안과 권한(특히 Role) 제어 기능 제공 SQLAlchemy와 연동 - 다양한 데이터베이스 지원 Drui..

다양한 시각화 툴

시각화 툴이란? 대시보드 혹은 BI(Business Intelligence)툴이라고 부르기도 함 KPI (Key Performance Indicator), 지표, 중요한 데이터 포인트들을 데이터를 기반으로 계산/분석/표시해주는 툴 결국은 결정권자들로 하여금 흔히 이야기하는 데이터 기반 의사결정을 가능하게 함 - 데이터 기반 결정 (Data-Driven Decision) - 데이터 참고 결정 (Data-Informed Decision) 현업 종사자들이 데이터 분석을 쉽게 할 수 있도록 해줌 어떤 툴들이 존재하나? Excel, Google Spreadsheet: 사실상 가장 많이 쓰이는 시각화 툴 Python: 데이터 특성 분석(EDA: Exploratory Data Analysis)에 더 적합 Looker..

Snowflake 기타 기능과 사용 중단하기

Marketplace ETL과 관련된 기능입니다. Marketplace에서 원하는 특정 기업 데이터 소스를 선택해 조금의 비용만 지불하고 Configuration setup을 해주면 특정 DB의 스키마의 테이블별로 데이터가 저장됩니다. ETL을 위한 코딩이 최소화되겠죠? 문제는 아직 기술상의 이슈들이 조금 있고 간단한 경우에만 사용될 수 있습니다. Data Sharing 우리가 지난 실습에서 Snowflake를 처음 접속했을 때 데이터 베이스 2개가 이미 만들어져 있었습니다. 이 때 있던 SNOWFLAKE와 SNOWFLAKE_SAMPLE_DATA는 사실 Snowflake가 우리에게 공유해준 데이터 베이스입니다. 그래서 읽거나 읽어온 뒤 활용하는 것은 몰라도 저 DB들에 무언가를 쓰거나 수정할 수는 없습니..

Snowflake Data Governance 관련 기능

Data Governance란? 필요한 데이터가 적재적소에 올바르게 사용됨을 보장하기 위한 데이터 관리 프로스세입니다. 데이터의 품질 보장과 데이터 관련된 법규를 준수하는 것이 기능의 주 목적입니다. 다음을 이룩하기 위함이 기본 목적 1. 데이터 기반 결정에서 일관성 ex) KPI(Key Performance Indicator)등의 지표가 우리의 상황을 정확하게 나타내고 있는가 2. 데이터를 이용한 가치 만들기 Citizen data scientist가 더 효율적으로 일할 수 있게 도와주기 Data silos(특정 부서의 데이터 독점)를 없애기 3. 데이터 관련 법규 준수 민감한 개인 정보 보호를 위해 적절한 권한 설정과 보안 프로세스가 필수! Snowflake의 관련 기능 Object Tagging D..

Snowflake Role과 User 생성

혹시 저번에 Reshift 권한 부여 실습 기억나시나요? https://touchingdata.tistory.com/149 Redshift 권한 사용자별 테이블 권한 설정 https://touchingdata.tistory.com/144 Redshift 초기 설정개념과 실습 Redshift 초기 설정 Redshift를 처음 구동하면 스키마, 그룹, 유저, 역할 등을 생성해야 합니다. 이에 대해 알아보 touchingdata.tistory.com 이 때 Group(그룹)과 Role(역할)에서 Group만 실습해보았는데요. 말씀드렸던 것 처럼 이번에 Snowflake 실습에서 Role을 사용해보기 위해서였습니다. Snowfalke는 최근에 나온 기술이기 때문에 더 유연하고 강력한 기능을 제공합니다. 때문에 ..

Snowflake 실습 - DB, 스키마, 테이블 생성

실습의 단계별 목표 1. DEV 데이터 베이스 만들기 2. 3개의 스키마 만들기 3. COPY SQL을 이용해 S3의 csv파일들을 벌크 업데이트하여 raw_data 스키마 밑에 테이블들 만들기 4. 그 과정에서 AWS IAM User(사용자)를 설정 5. analytics 스키마 밑에 summary 테이블을 만들기 이번 시간에는 위의 볼드체로 표시된 1, 2, 3, 5번을 실습해 보려합니다. Snowflake의 Setup-Env Worksheet에서 실행합니다. 1. DEV 데이터 베이스 만들기 CREATE DATABASE dev; 2. 3개의 스키마 만들기 -- 먼저 3개의 스키마를 생성한다. CREATE SCHEMA dev.raw_data; CREATE SCHEMA dev.analytics; CRE..

Snowflake 실습 - AWS IAM 설정하기

실습의 단계별 목표 1. DEV 데이터 베이스 만들기 2. 3개의 스키마 만들기 3. COPY SQL을 이용해 S3의 csv파일들을 벌크 업데이트하여 raw_data 스키마 밑에 테이블들 만들기 4. 그 과정에서 AWS IAM User(사용자)를 설정 5. analytics 스키마 밑에 summary 테이블을 만들기 이번 시간에는 위의 볼드체로 표시된 4번을 실습해 보려합니다. 아마 의문이 드실 겁니다. Snowflake 실습에서 웬 AWS IAM? Snowflake에서 COPY를 이용해 AWS S3의 파일들을 벌크 업데이트할 수 있다고 했었습니다. 그런데 Snowflake라는 외부에서 AWS S3에 접근하기 위해서는 AWS IAM에서 새로운 User(사용자)를 만들고 이 사용자의 Access key와 ..

Snowflake Worksheet 간단한 기능들

Worksheets에 대한 간단한 기능들 AcoountAdmin의 역할인 상태에서 Worksheets 메뉴를 클릭한 후 SQL Worksheet를 추가합니다. 그 다음 Worksheets를 클릭하면 타임 스탬프 형태의 이름으로 새로운 worksheet가 생성된 것을 볼 수 있으실 겁니다. Rename을 클릭해 Setup-Env로 변경 해주세요. 상단 좌측의 버튼은 어떤 역할과 어떤 웨어하우스 리소스를 사용할지 선택할 수 있습니다. 가운데 버튼은 내가 작업중인 Worksheet를 다른 사람과 공유하고 싶을 때 클릭합니다. 우측의 삼각형 버튼은 하이라이트된 부분 혹은 커서가 있는 부분 혹은 모든 쿼리를 실행할지 선택할 수 있습니다. 그리고 어떤 Database를 사용하는지 선택할 수 있는 드랍다운 메뉴가 있..