데이터 엔지니어( 실습 정리 )

데이터마트 데이터 bi툴로 실시간 대시보드 구현(3)

세용용용용 2023. 10. 6. 22:30

1) 데이터 마트에 들어간 10개의 데이터를 실시간 bi툴로 시각화 해보자

태블로는 여태 두번정도 써보았으니 새로운 대시보드를 사용하고 싶었다.

Redash를 사용해 던파 데이터를 시각화 대시보드로 구현해보자!!

 

1) 먼저 도커를 설치해주자

# 패키지 업데이트를 수행
sudo apt-get update

# Docker 패키지 관련 소프트웨어 및 의존성 패키지를 설치
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

# Docker 공식 GPG 키를 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Docker 저장소를 시스템에 추가
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
# Docker CE를 설치
sudo apt-get install -y docker-ce

# Docker 서비스를 시작
sudo systemctl start docker
sudo systemctl enable docker

# 현재 사용자를 Docker 그룹에 추가하여 루트 권한 없이 Docker를 사용할 수 있도록함
sudo usermod -aG docker $USER

 

2) Redash 설치 및 실행

#패키지 업데이트
sudo apt update

#git 설치
sudo apt install git

#redash setup clone
git clone https://github.com/getredash/setup.git

cd setup/
#setup 스크립트 실행 권한
sudo chmod +x setup.sh

#스크립트 실행
./setup.sh

 

docker ps -a >>> 시스템에 있는 모든 Docker 컨테이너를 나열

 

http://외부ip:5000 >>> redash접속

 

로그인 화면

 

3) Redash 기본 개념

오픈 소스 비즈니스 인텔리전스 도구로, 데이터 시각화 및 대시보드 작성, 데이터 쿼리 및 다양한 데이터 소스와의 통합을 지원

Redash를 사용하여 데이터를 시각화하고 실시간 대시보드를 만들 수 있음

 

1. 대시보드 : 작성한 쿼리를 테이블, 차트 형태로 등록하여 종합적인 시각화를 구현

2. 데이터소스 : 대시보드에 시각화할 데이터의 저장소(기본적으로 db등이 있음)

3. 쿼리 : db와 똑같이 쿼리라고 생각하면됨 데이터에서 필요한 값을 뽑아내는 최종 결과값을 테이블, 차트 형태로 표현

4. Alert(알림) : 생성한 쿼리의 값에 조건을 걸어 만족하면 알림을 보내준다. 트리거 느낌????

 

4) Redash db연결

1. 우측 상단 가운데 모양 클릭

 

2. + New Data Source클릭

 

3. mysql 선택

 

4. 데이터 소스 등록

등록후 data sources목록을 보면 등록완료

이제 db연결을 완료했으니 시각화할 쿼리를 만들어 보자

 

5) Create Query

create >>> query클릭

 

1. 쿼리 실행 및 등록

해당 창에서 왼쪽은 데이터 소스를 선택할수는 창과 맨위의 new query는 쿼리의 이름이다.클릭해서 변경가능오른쪽은 쿼리를 작성하고 execute버튼으로 퀴리가 실행됨 마지막으로 save는 저장하는것

 

테스트로 테이블의 모든 데이터를 출력해보자 >>> select * from your_table_name;

 

+ New VisualiZation 클릭하여 차트를 만들어주자

최근 가격 변동을 시각화

SAVE를 누르면 하단 테이블 옆에 추가된다

쿼리와 chart 작업후 내용 저장을 위해 save를 해준다

 

최종적으로 생성쿼리를 대시보드에 등록하기 위해 Publish버튼을 클릭

 

2. 작성한 쿼리를 대시보드에 등록해 모니터링 해보자

create >>> Dashboard 클릭

 

대시보드 이름 작성후 save

 

아래는 대시보드 화면이다. 쿼리 등록을 위해 add widget버튼 클릭

 

쿼리선택후 원하는 visualization선택하자

 

 

선택후 add to Dashboard 클릭

 

대시보드에 차트가 삽입된것을 확인

 

대시보드 변경사항 적용을 위해 상단의 Done Editing클릭

 

최종적으로 상단의 Publish를 클릭해 대시보드를 Publish시킴

 

총 거래 건수를 확인하는 쿼리 하나를 더 추가해보자

 

쿼리 등록 ( 이미지를 추가하기위해 빈 컬럼 추가)

SELECT '' AS image, itemName, SUM(count) AS total_count FROM your_table_name GROUP BY itemName;

 

visualization Type를 테이블로하고 image컬럼을 이미지 링크를 달아준다

작성후 쿼리를 저장해주자

 

 

이제 기존 대시보드에 쿼리를 추가하기위해 edit클릭

 

추가후 대시보드 저장

 

최종적으로 각종 던파 아이템 관련 테이터를 데이터 마트에 저장후 실시간 던파정보 대시보드를 구현해보자