반응형
요구사항
mariadb 설치 및 계정 필요
로그파일 준비
파일내용이 아래와 같이 생긴 test_log.log 파일을 예시로 준비하였습니다.
"2023-03-10 18:13:10", "test", "search.html"
"2023-03-12 18:13:10", "keyword test", "search.html"
"2023-03-13 18:13:10", "keyword", "search.html"
"2023-03-14 18:13:10", "test", "search.html"
"2023-03-15 18:13:10", "keyword", "search.html"
mysql에서 table 생성
create table stats_raw(
created_time datetime,
keyword varchar(100),
source text
);
아래 명령어로 table 정상적으로 생성되었는지 확인
desc stats_raw
csv파일 insert
LOAD DATA LOCAL INFILE 'test_log.log' INTO TABLE stats_raw FIELDS TERMINATED BY ', ' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
test_log.log파일을 stats_raw라는 테이블에 insert한다는 뜻이며,
filed별 구분자는 ', '로,
라인별 구분자는 '\r\n',
각 값은 '"' 로 묶여진다는 뜻입니다.
아래 쿼리로 data 정상적으로 입력되었는지 확인 가능합니다.
select count(1) from stats_raw;
아래 명령어로 월별, 키워드별 count 통계정보 확인 가능합니다.
select concat(year(created_time),'-',month(created_time)) as log_time, keyword, count(1) as cnt from stats_raw group by concat(year(created_time),'-',month(created_time)), keyword order by cnt;
mysql 접속않고 bash에서 명령어 바로 실행
bash에서 mysql 명령어를 바로 실행할 수 있는 팁입니다.
mysql -u [계정 이름] -p[패스워드] -D [데이터베이스 이름] -e "[쿼리문]"
사용예시
mysql -u test -ptest -D test_db -e "desc stats_raw"
총평
csv 파일을 mariadb로 import하는 방법을 찾아보았을 때, python으로 하는방법이 먼저 나오더군요.
패키지도 설치해야하고 코딩도 좀 길고 해서 더 쉬운 방법이 없나했더니 mariadb에서도 다행히 지원하더군요.
python으로 import 하는 방식은 왜 먼저 검색이 되었는지 모르겠습니다.
심지어 delemeter 문자를 지정할 수도 없는 등의 불편함이 있었습니다.
#mysql,#mariadb,#csv,#import,#db
728x90
반응형
'개발팁' 카테고리의 다른 글
윈도 크롬 탭 메모리 사용량 표시, 크롬 탭 cpu 사용량 확인, cpu 점유율 확인 (1) | 2023.11.30 |
---|---|
아파치 httpd 서버에서 확장자 숨김, apache 확장자 숨기기, 확장자 없이 사용하기, php 확장자 숨기기, apache 확장자 없이 (0) | 2023.11.16 |
mariadb / mysql 신규계정생성 및 database 생성 (0) | 2023.10.31 |
윈도에서 방화벽 해제 여부 확인, 윈도우 포트 오픈 확인, powershll 포트 오픈 확인 (1) | 2023.10.27 |
php 에서 named parameter sql 간단히 사용하기 (0) | 2023.10.25 |
댓글