728x90
반응형

분류 전체보기 193

Grafana Multi variables 활용한 시각화

1. 목표grafana를 사용하여 GROUP 드롭다운에서 특정 그룹을 선택하면 GROUP 선택지에 따라 GROUP DETAIL에서 해당 그룹에 속해있는 세부 정보를 보여주도록함.GROUP DETAIL에서 체크박스로 선택한 정보에 대해서만 Panel에 시각화하여 보여줌.아래는 GROUP DETAIL을 모두 선택(All)한 화면이다.아래는 GROUP DETAIL 내 체크박스를 3개만 선택한 화면이다.  2. Dashboard Variables 설정오른쪽 위에서 Edit > Settings > Variables > New variable를 선택한다.2.1 group varible 설정Select variable type에는 Query, Custom, Text box, Constant 등이 있다. 각 varia..

ETC/Grafana 2024.11.27

[시계열 데이터 이미지 인코딩] 2. Markov Transition Field(MTF) 개념 및 적용

1. Markov Transition Field(MTF)란?Markov Transition Field (MTF) 알고리즘은 이산화한 시계열 데이터의 전이 확률을 나타내는 알고리즘이다.N개의 Time Series 데이터가 있다고 가정한다.Time Series 데이터를 분위수를 활용하여 Q+1 bin으로 이산화한다.아래 과정을 통해 상태 전이 행렬을 구한다. 즉, Markov model은 상태 전이 행렬(state transition matrix)을 만들기 위한 것이다.상태 전이 행렬은 어떤 상태가 시간에 따라 어떻게 변화하는지 나타낸 것$w_{ij} = P(x_t = j | x_{t-1} = i)$i 상태로부터 j 상태로 전이하는 확률을 $W_{ij}$라고 한다.위 확률을 최대우도추정법(maximum li..

AI/Time series 2024.11.25

[시계열 데이터 이미지 인코딩] 1. Gramian Angular Field (GAF) 개념 및 적용

1. Gramian Angular Field (GAF) 이란?Gram Matrix: 각 시점 간의 시간적 상관관계를 극좌표를 기반으로 표현하는 알고리즘 ($G = X^TX$)서로 다른 모든 벡터들에 대해 유사도를 나타내는 행렬이라고 볼 수 있다.cosine similarity와 비슷하게 값이 1에 가까우면 유사도가 높고, 0이면 유사도가 없고, -1이면 정반대의 유사도를 가진다.극좌표 기반 행렬은 시계열 데이터를 이미지로 변경할 때 시간 상관관계를 보존할 수 있다는 장점이 있다. 1. Time Series 데이터를 -1~1까지로 정규화를 한다.시계열 데이터의 작거나 큰 다양한 범위들을 [-1, 1] 혹은 [0, 1] 구간으로 정규화시킨다.2. 정규화된 Time Series 값을 극좌표계(poloar co..

AI/Time series 2024.11.24

ClickHouse에 NATS 엔진 설정 방법

개요NATS로 publish한 메세지들이 바로 Clickhouse의 테이블에 추가될 수 있도록 NATS 엔진 설정 방법을 알아본다.1. NATS 메시징 시스템 구축1.1 NATS 설치# nats-server 설치$ curl -L https://github.com/nats-io/nats-server/releases/download/v2.10.18/nats-server-v2.10.18-linux-amd64.zip -o nats-server.zip$ unzip nats-server.zip -d nats-server$ sudo cp nats-server/nats-server-v2.10.18-linux-amd64/nats-server /usr/bin/ # nats 설치$ curl -sf https://binari..

Database/Clickhouse 2024.11.23

Tensorflow에서 multi GPU 사용 방법

1. GPU 확인보유하고 있는 gpu 정보와 해당 gpu 번호 확인from tensorflow.python.client import device_libdevice_lib.list_local_devices()아래 결과를 통해 gpu가 2개 있는 것을 확인할 수 있다. MirroredStrategy2. 사용 가능한 모든 GPU 병렬처리MirroredStrategy 인스턴스 생성 시 아무것도 지정하지 않으면 multi GPU에 대해 분산처리되어 동작함.마찬가지로 with mirrored_strategy.scope() 블럭 내에서는 모델 생성 및 학습 모델 설계 관련 구현하고, with 구문 내에서 model이 compile되어야함.import tensorflow as tfmirrored_strategy = t..

AI/딥러닝 2024.11.22

Opensearch 유사도 검색

이전 게시글앞서 PDF 문서를 Text로 변환하여 Custom analyzer 적용하여 인덱싱하였음.https://daeunnniii.tistory.com/206 Opensearch Tokenizer, Analyzer와 Custom Analyzer 적용1. Opensearch AnalyzerOpensearch에 텍스트 입력 시 필드를 인덱싱하고 Documents화 할 때 Lucene 엔진에 의해 텍스트가 분석되어 입력됨.이때 텍스트를 분석하는 엔진을 Analyzer라고 함.Lucene 에서 제공하는 Andaeunnniii.tistory.com Opensearch 유사도 검색1. More like this 쿼리More Like This (MLT) 쿼리는 입력으로 주어진 document 집합과 비슷한 doc..

Database/Opensearch 2024.11.21

Opensearch Tokenizer, Analyzer와 Custom Analyzer 적용

1. Opensearch AnalyzerOpensearch에 텍스트 입력 시 필드를 인덱싱하고 Documents화 할 때 Lucene 엔진에 의해 텍스트가 분석되어 입력됨.이때 텍스트를 분석하는 엔진을 Analyzer라고 함.Lucene 에서 제공하는 Analyzer는 하나의 Tokenizer와 다수의 Filter로 구성1.1 Filter의 종류CharFilter와 TokenFilter 2가지가 존재CharFilter는 입력된 문자열에서 불필요한 문자를 normalization하기 위해 사용TokenFIilter는 tokenizer에 의해 분해된 token에 대한 Filter 처리를 함.기본적으로 CharFilter에 의해 공백 콤마 등의 문자를 삭제하며, 예시로 문서의 유형이 xml일 경우 의 문자열들..

Database/Opensearch 2024.11.20

Opensearch Ingest pipeline으로 로그파일 전처리

1. Opensearch Ingest Pipeline1.1 Opensearch Ingest Pipeline이란?Ingest pipeline은 데이터를 전처리하는 방법으로 데이터를 색인하기 전에 데이터를 변환하거나 필터링해준다.Ingest Node: Opensearch에 데이터를 인덱싱하기 전에 다양한 전처리를 할 수 있는 메커니즘을 제공하는 노드 타입Ingest pipeline을 설정하기 위해서는 Ingest Node가 활성화되어있어야 한다.Ingest Pipeline을 설정하기 위한 형식은 다음과 같다.PUT _ingest/pipline/{pipline name}{ "description" : "...", "processors" : [ ... ]}1.2 Processorgrok 프로세서란?grok ..

Database/Opensearch 2024.11.19

Opensearch 개념과 사용법 정리

Documentdocument는 텍스트 또는 구조화된 데이터 등의 정보를 저장하는 단위이다.Opensearch에서 문서는 JSON 형식으로 저장된다.IndexIndex는 document의 모음이다.Index는 여러가지 방법으로 생각할 수 있다.학생 데이터베이스에서 인덱스는 데이터베이스의 모든 학생을 나타냄.정보를 검색할 때는 인덱스에 포함된 데이터를 쿼리함.인덱스는 기존 데이터베이스의 데이터베이스 테이블을 나타냄.Cluster와 NodeOpensearch는 분산 검색 엔진으로 설계되었으며, 하나 이상의 노드에서 실행될 수 있음.즉, 데이터를 저장하고 검색 요청을 처리하는 서버이다.ShardsOpensearch는 Index를 Shard로 분할함.각 샤드는 다음 이미지에서 볼 수 있듯이 인덱스에 있는 모든 ..

Database/Opensearch 2024.11.18

Clickhouse에서의 Sharding

1. ClickHouse에서의 샤딩1.1 샤딩(Sharding)이란?샤딩은 동일한 스키마를 가지고 있는 여러대의 데이터베이스 서버들에 데이터를 작은 단위로 나누어 분산 저장하는 기법이다. 이때, 작은 단위를 샤드(shard)라고 부른다.어떻게 보면 샤딩은 수평 파티셔닝의 일종이다.차이점은 파티셔닝은 모든 데이터를 동일한 컴퓨터에 저장하지만, 샤딩은 데이터를 서로 다른 컴퓨터에 분산한다는 점이다.물리적으로 서로 다른 컴퓨터에 데이터를 저장하므로, 쿼리 성능 향상과 더불어 부하가 분산되는 효과까지 얻을 수 있다. 즉, 샤딩은 데이터베이스 차원의 수평 확장(scale-out)인 셈이다.1.2 샤딩의 장단점샤딩의 장점1) 데이터 처리 속도: 노드에 가해지는 데이터 부하는 작아지고 데이터 처리 속도는 향상된다.2..

Database/Clickhouse 2024.11.16
728x90
반응형