728x90
반응형
Aggregation은 사전적인 의미로 "집계"라는 말을 뜻하지만 Elasticsearch에서는 Elasticsearch안의 데이터 중에서 어떠한 특정한 값을 도출해 낼 때 사용한다. Aggregation은 사용 형태에 따라 Metric, Bucket Aggregation으로 나뉩니다.
1. Metric Aggregation
- 산술적인 연산을 통한 특수한 값을 도출할 때 사용(ex. 최대값, 최소값)
- 데이터 집계를 위한 Json 파일 생성
ex) stat 데이터 출력
# vim score_agg_test.json
.
.
.
{
# 결과 값만 출력
"size" : 0,
# aggregation 선언
"aggs" : {
# 이름
"stats_score" : {
# aggregation 연산 값
# stats: 전체 출력 / max, min, avg 등... 사용 가능
"stats" : {
# 필드 선택
"field" : "points"
}
}
}
}
.
.
.
: wq
- 데이터 조회
#curl -H 'Content-Type:application/json' -X GET localhost:9200/_search?pretty --data-binary @score_agg_test
.json
2. Bucket Aggregation
- RDB Group by와 비슷한 기능 ex) 팀 별데이터 분석
# vim stats_by_team.json
.
.
.
{
"size" : 0,
"aggs" : {
"team_stats" : {
"terms" : {
"field" : "team"
},
"aggs" : {
"stats_score" : {
"stats" : {
"field" : "points"
}
}
}
}
}
}
.
.
.
:wq
- 결과값 확인
# curl -H 'Content-Type: application/json' -X GET 'localhost:9200/basketball/_search?pretty' --data-bianry @stats_by_team.json
** 오류 발생 **
{"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"The bulk request must be terminated by a newline [\\n]"}]
** 해결 방안 **
json 파일 마지막에 enter 추가
** 참고 사이트
인프런 ELK 스택으로 데이터 분석 강의 자료 내용을 바탕으로 작성하였습니다.
728x90
반응형
'ELK' 카테고리의 다른 글
ELK - 01 (CSV 파일 입력 및 데이터 시각화) (0) | 2020.12.10 |
---|---|
Elasticsearch + Kibana - 2 (Elasticsearch 데이터 입력 및 활용) (0) | 2020.12.10 |
Elasticsearch + Kibana - 1 (Kibana 설치 및 기본 설정) (0) | 2020.12.07 |
Elasticsearch 시작하기 - 2 (데이터 입력 및 조회) (0) | 2020.12.06 |
Elasticsearch 시작하기 - 1(사전 준비 및 개념) (0) | 2020.12.06 |