그렇다면 DB에 적재해서 SQL로 분석하는 방법을 시도해보자.
CREATE DATABASE ConsumerBehavior
DEFAULT CHARACTER SET utf8;
참고 : Database 명명 규칙 (Naming Rule)
ChatGPT에게 테이블 스키마를 생성해달라고 요청
CREATE TABLE Users (
event_time TIMESTAMP,
event_type VARCHAR(20),
product_id INT,
category_id INT,
category_code VARCHAR(100),
brand VARCHAR(100),
price FLOAT,
user_id INT,
user_session VARCHAR(100)
);
데이터프레임에서 dtype이 object인 칼럼들은 VARCHAR()에 최대 길이를 어느 정도로 설정해야 되는지에 대한 도움을 받음.
참고 : MySQL Docs
LOAD DATA LOCAL INFILE '/path/to/users.csv'
INTO TABLE Users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
IGNORE 1 ROWS (첫번째 행은 컬럼명이므로 무시)
출처 : https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html
Loading local data is disabled; this must be enabled on both the client and server sides
(오류 메세지를 해결하는 과정에서 배우는 것이 많으니까,,, 다시 차근차근 구글링과 ChatGPT의 도움을 받았습니다 ㅠㅠ)
2019-10월 csv파일은 약 4분 정도, 2019-11월은 약 6분 정도 소요로 데이터 적재가 완료 되었다 !
user_id 고유값만 5백만개...
본격적으로 데이터 분석과 지표 생성을 진행해보겠습니다 !
저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!