서울시 공공데이터(CSV) Logstash로 Elasticsearch에 올리고 Kibana에서 분석하기 (+한글깨짐해결)

<수업>/과제|2021. 1. 13. 22:34
반응형

https://data.seoul.go.kr/dataList/datasetList.do

 

서울 열린데이터광장

전체  5,215건 을 찾았습니다. 정확도순 최신공개일순 조회순 제목순 조회 공공데이터 [교통] 서울특별시 공공자전거 신규가입자 정보(월별) 서울특별시 공공자전거 월별 신규가입자 정보입니다

data.seoul.go.kr

ㄴㄴ 여기서 각자 마음에 드는 데이터 하나골라서 csv 파일형식으로 다운받는다.

 

 

 

 

 

 

 

나는서울특별시 공공자전거 대여소별 이용정보(월별) 을 다운받았다.  (2018년도 csv파일 다운~)

 

 

 

 

 

 

 

데이터 다운받아서 열어보니까 이런형식이다.

 

(한글깨짐 현상을 방지하려면 CSV UTF-8(쉼표로분리)(*.csv)형식으로 새로 저장해주자.

원래 저장형식은 CSV(쉼표로분리)(*.csv) 이건데 이대로 쓰면 뒤에가서 업로드했을때 한글 깨진다.)

 

 

 

 

 

 

명심해야 할점 : 맨위에 필드들 ('대여일자', '대여소번호' 등등) 필드값이 있는 첫번쨰 행을 삭제해준다.!!!!!!

필드값은 다른곳에 적어놔서 꼭 순서대로 기억해둔다.

(왜냐햐면 로그스태시에서 1행도 데이터로 인식하기 때문에 맨윗행 삭제 안해주면 대여일자 : 대여일자 / 대여소번호 : 대여소번호 이렇게 잘못된 데이터 하나가 더 생긴다)

 

 

 

이걸토대로 logstash 에 sample.conf 파일을 생성해준다.

input {
        file {
                path => [ "C:/Users/Owner/Downloads/bicycle2.csv" ] 
	    start_position => "beginning"
	    sincedb_path => "nul"
	    codec => plain{ charset => "UTF-8" }
        }
}
filter {
        csv{ 
                columns => ["대여일자","대여소번호","대여소","대여건수","반납건수"]
                separator => ","
        }
}
output { 
        elasticsearch {
                hosts => ["localhost"] 
	   index => "softwarearchitecture"
        }
        stdout { } 
}

path에 데이터가 저장된 절대 경로 적어주고

colums에 각자 데이터 필드값을 적어준다.

index에는 Elasticsearch에 데이터 넣어둘 인덱스이름을 적어둔다.

 

(인덱스 없으면 새로만들어준다. 엘라스틱서치 실행시키고 아무 터미널이나 열고  curl -XPUT localhost:9200/softwarearchitecture 적어서 실행하면 된다. software~은 내가 정해준 인덱스이름)

 

 

 

 

logstash 파일안 bin 에 들어가서 터미널열고 실행 ( logstash -f (conf파일들어있는 절대경로) 실행해주면 된다. )

 logstash -f C:\logstash-7.6.0\logstash-7.6.0\config\sample.conf

 

 

 

 

 

 

잘 실행되었으면 위그림처럼 데이터들을 주르륵 보여진다.

(timestamp은 귀찮아서 설정하지 않았다. 설정하고싶다면 sample.conf에서 대여일자를 타임필터로 설정해주면 된다)

 

 

 

 

Kibana를 실행시키고 데이터가 잘들어갔나 확인해보자.

 

 

 

 

 

 

 

 

데이터가 잘 들어간것같다. 데이터가 제대로 들어간것을 확인하고 나서 대시보드를 취향껏 꾸며서 분석해준다.

 

 

 

반응형

댓글()