5. Day 5-5

data_hamster·2023년 5월 30일
0
post-custom-banner

학습주제
Preset 셋업

학습내용

회사 이메일이 있어야함.
개인 이메일은 등록이 안됨.
사용자 수가 늘어남에 따라 정책이 바뀜.


어느 플랜으로 시작할지 물어봄
Starter 선택
이름 부여
워크스페이스를 만들 수 있음
1개 워크스페이스는 1개 수퍼셋
다수의 사용자와 공유, 권한을 세팅할 수 있음.
스타터는 워크스페이스 1개만 만들 수 있음

Redshift로 만들어봄

초기화에 좀 시간이 걸림
기본적으로 데이터베이스 2개 예제 제공

  • DataBase를 누르고
    하단에 redshift 검색 선택

연결정보가 뜸

앞서 공유했던 정보를 입력

정정. mysql 사용시도

C:\ProgramData\MySQL\MySQL Server 8.0\Uploads
지정된 경로 아니면, 로컬에서 업로드 안됨.
여기에 usc, ts, 등 파일 올림.

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/user_session_channel.csv'
INTO TABLE raw_data.user_session_channel
FIELDS TERMINATED BY ',' -- CSV 파일에서 각 열을 구분하는 구분자
ENCLOSED BY '"' -- 각 필드를 감싸는 문자 (옵션)
LINES TERMINATED BY '\n' -- 라인 구분자
IGNORE 1 ROWS; -- 첫 번째 행(헤더)을 무시하고 로드 (옵션)

워크벤치에서 주소는 \이 아니라 /을써야함
성공했다


정상적으로 값이 들어온 것들 확인.
이어서 로드해준다.

LOAD DATA INFILE은 MySQL에서 CSV 파일과 같은 외부 데이터를 데이터베이스 테이블로 로드하는 기능입니다. 이는 MySQL에서 데이터를 대량으로 가져와서 테이블에 삽입하는 벌크 데이터 로딩 작업을 수행할 때 사용됩니다.



session_transaction의 경우 csv 파일엔 레코드가 문자열 'TRUE', 'FALSE'로 들어가 있음.
그런데 mysql 데이터형은 boolean
AWS에선 바로 COPY가 가능했으나 여기선 오류 발생함.

전통적으로 mysql은 문자열 불린 타입을 바꾸어주지 않음
SET SESSION sql_mode = 'TRADITIONAL,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,NO_AUTO_VALUE_ON_ZERO,NO_BACKSLASH_ESCAPES,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
을 입력해서 바꿔준 후 LOAD실행

-> 실패 잘 안되는 거 같음. 아에 csv 내용을 바꾸기로 함

TRUE, FALSE 문자열을 엑세에서 1,0으로 치환함
성공.

https://binshuuuu.tistory.com/214
현재 My SQL 연결이 잘 되지 않음. 좀 더 고민해봐야할 것 같음. -> 아님 물어보자

Preset UI

workspace 생성
데이터베이스 연결
데이터 셋 연결

데이터베이스 연결

settings - connection

여기선 Redshift 연결
5439
dev
guest
Guest1!

guest는 안됨. 기용님께 슬랙으로 별도의 계정 받음.

Datasets 추가는
Docker로 실행한 superset에서 실습

profile
반갑습니다 햄스터 좋아합니다
post-custom-banner

0개의 댓글