[ 데이터 과학소개 ]
- Logstash는 어떤 데이터베이스이든지 엘라스틱서치에 수집을 해주고,
- Kibana는 시각화해주는 역할을 합니다.
[ 엘라스틱서치 설치 ]
엘라스틱서치에는 반드시 자바 JDK가 설치되어있어야 합니다.
1. sudo add-apt-repository -y ppa:webupd8team/java
2. sudo apt-get update
3. sudo apt-get -y install oracle-java8-installer
4. java -version
5. Download DEB file from https://www.elastic.co/downloads/elasticsearch
6. dpkg -i elasticsearch-5.1.1.deb
7. sudo systemctl enable elasticsearch.service
curl -XGET localhost:9200 으로 엘라스틱서치가 작동하는지 확인함
(안전하게 끄고 키려면 다음 명령어 수행)
sudo service elasticsearch start (서비스 시작)
sudo service elasticsearch stop (서비스 끄기)
install at : /usr/share/elasticsearch
Config file at : /etc/elasticsearch
Init script at : /etc/init.d/elasticsearch
Elasticsearch와 Relational DB 비교
Index = Database
Type = Table
Document = Row
Field = Column
Mapping = Schema
GET = Select
PUT = Update
POST = Insert
Delete = Delete
curl -XGET http://localhost:9200(elasticsearch)/classes(Index name)
curl -XGET http://localhost:9200(elasticsearch)/classes?pretty
-> json 포맷으로 깔끔하게 생성
curl -XPUT http://localhost:9200/classes
curl -XDELETE http://localhost:9200/classes
인덱스명과 타입명을 정해서 지정해주면 도큐먼트가 바로 생성됨 또는
인덱스가 있으면 그 다음에 도큐먼트 생성하면 됨
curl -XPOST http://localhost:9200/classes/class/1/ -d '
{"title": "Algorithm", "professor": "John"}'
파일을 활용하고자 할때 (백업본 파일 복구할때 씀)
curl -XPOST http://localhost:9200/classes(인덱스)/class(타입)/1(id)/ -d @oneclass.json
https://github.com/minsuk-heo/BigData/tree/master/ch01에서 파일 다운가능
※ 엘라스틱서치 데이터 업데이트(UPDATE)
(수정용) curl -XPOST http://localhost:9200/classes/class/1/_update -d '
{"doc" : {"unit" : 1}}'
(확인용)
curl -XGET http://localhost:9200/classes/class/1/?pretty
(수정용) curl -XPOST http://localhost:9200/classes/class/1/_update -d '
{"script" : "ctx._source.unit += 5"}'
※ 엘라스틱서치 - 벌크(Bulk)
- 여러개의 Document를 한번에 엘라스틱서치에 삽입하는 방법?
(입력) curl -XPOST http://localhost:9200/_bulk?pretty --data-binary @classes.json
(확인)
curl -XGET localhost:9200/classes/class/3?pretty
소스코드(실습)
https://github.com/minsuk-heo/BigData/tree/master/ch02
※ 엘라스틱서치 매핑 (Mapping)
※ 엘라스틱서치 데이터 조회 (Search)
※ 엘라스틱서치 메트릭 어그리게이션 (Metric Aggregation)
※ 엘라스틱서치 버켓 어그리게이션 (Bucket Aggregation)
카테고리 없음