ELK Stack

[Elasticsearch & Kibana] Linux MySQL DB의 데이터 csv파일 만들기

땅콩새싹 2020. 10. 29. 18:58
반응형

Linux MySQL DB의 데이터 csv파일 만들기

 


 

Linux의 MySQL에도 데이터를 저장했었습니다. 이거 전 글에서 Kibana를 통해 시각화하는 것을 알아보았는데 리눅스에서도 동일한 방법으로 Kibana에 올릴 수 있습니다. 그러기 위해서는 DB의 데이터를 csv 파일로 만드는 것이 필요한데 Window에서는 버튼 한 번 클릭으로 만들 수 있었습니다. Linux에서는 어떻게 만드는지 알아보겠습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import pandas as pd
import pymysql
from datetime import datetime
 
print('start-time : 'str(datetime.now())[:19] )
 
conn = pymysql.connect(host='127.0.0.1', user='계정이름'
password='password' ,db='DB이름', charset='utf8',
port = 9876
)
 
query = 'select * from table이름'
 
df = pd.read_sql_query(query,conn)
df.to_csv(r'mysql_output_pandas.csv', index=False)
print('end-time : 'str(datetime.now())[:19])

<csv변환 코드(trans_csv.py)>

먼저 맨 윗줄의 pandas를 사용하기 위해 모듈을 install 해 주어야 합니다.

그리고 linux의 MySQL에 데이터를 전송 할 때 외부 접속 권한을 준 계정과 비밀번호를 입력해 주고 포트포워딩 한 포트 번호와 DB 이름과 query문에 table이름을 맞게 작성 해 주면 됩니다.

맞게 작성 해 주었다면 저장을 하고 linux에서 코드를 실행시켜 주시면 같은 경로에 csv 파일이 생성되는 것을 확인할 수 있습니다.

 

csv 생성 코드 trans_csv.py와 csv 파일 mysql_output_pandas.csv 두 개가 같은 경로에 생성되는 것을 확인 할 수 있습니다. 그러면 이 csv 파일을 가지고 윈도우에서 시각화 했던 방법과 동일하게 진행할 수 있습니다.

반응형