티스토리 뷰

회사에서 다양한 지표들을 빠르게(실시간에 가깝게) 업데이트 할 다양한 방법을 모색하고 있는데요,
그 중 하나가 바로 Tableau를 사용하여 대시보드를 구성하는 방법입니다.
Tableau는 마케팅 분야에서 많이 쓰이는 것으로 알고 있는데, 서버와 연결해서 데이터를 가져오는 것은 누가할까요? (궁금)
오늘 제가 해당 작업을 했는데요, MySQL server와 Tableau를 연결하는 몇 가지 방법에 대해 정리해보겠습니다.

1. Local MySQL server 접속

2. SSH 터널링을 통한 Remote MySQL server 접속

 

두 방법 모두 공통적으로 Driver 설치는 해주어야 합니다. 우선 공통적으로 해야하는 Driver 설치 작업에 대해 간략히 알아 본 후 MySQL server에 연결할 수 있는 각각의 방법에 대해 쓰겠습니다.

공통작업: Driver 설치

로컬로 접속하던, 터널링을 통해 접속을 하던 MySQL server와 연결이 되려면 Driver 설치를 공통적으로 해야 합니다.
Tableau는 connector를 통해 외부 서버에 있는 DB를 연결하기 때문에 이 connector를 사용하려면
연결하고자 하는 서버에 맞는 driver를 설치해야 하는 것입니다.

(좌) Driver 설치 전 MySQL server 연결 시도 (우) Driver 설치 후 MySQL server 연결 시도

  1. Tableau Desktop을 종료 후 가장 최신 버전의 iODBC Driver Manager를 설치합니다.
    맥을 사용하고 계신다면 다음과 같은 경고 메세지가 뜰 수 있습니다. : Apple cannot check it for malicious software
    이 때 System Preference의 Security & Privacy에 들어가보시면 General 하단에 새로운 메세지가 떠 있을겁니다.
    그러면 unlock 하신 후 Allow apps downloaded from... 을 허용하시면 됩니다.
  2. MySQL Community Downloads 웹사이트로부터 MySQL ODBC connector를 다운받고 설치합니다.
  3. Tableau Desktop을 재실행하여 MySQL과 연결합니다.

MySQL 연결하기

방법 1. Local MySQL server

전 단계에서 iODBC Driver Manager와 MySQL ODBC connector를 다운 받았다면 정상적으로 server에 접속할 수 있습니다. 아래 3가지 사항을 확인 후 입력을 완료하면 연결은 성공적으로 이루어집니다.

  • 서버 이름 (ex. localhost)
  • 사용자 이름 및 비밀번호
  • SSL server를 통해 연결 여부

접속 이후에는 사용하고 싶은 Table을 선택하여 data source를 제공할 수 있습니다. 해당 화면에서 table간 join도 가능하고 여러 개의 table을 사용하고자 한다면 drag and drop으로 올려 놓으면 됩니다.

방법 2. SSH Tunneling(Port Forwarding)을 통한 Remote MySQL server

Tableau Desktop은 SSH를 사용하여 데이터 원본에 연갈하는 기능을 현재 제공하고 있지 않습니다. 따라서 SSH client(ex. PuTTY)를 통해 Port forwarding의 과정이 필요합니다. (OSX 사용자는 기본 터미널에서 ssh 를 제공합니다.)

연결하고자 하는 SSH connection parameter를 우선 확인합니다.

  • SSH Hostname
  • SSH Username
  • SSH Key File
  • MySQL Hostname
  • MySQL Server Port
  • Username, Password

위의 정보를 가지고 다음의 순서로 Tableau와 Database를 연결할 수 있습니다.

1. SSH Key File의 권한을 400으로 변경 (private key여야 하기 때문에 변경해야 합니다)

chmod 400 [SSH Key File path]

2. Local port 3307로 SSH server의 22번 port(SSH의 default port)와 binding 되어있는 MySQL server로 접근

ssh -i [SSH Key File path] -L 3307:[MySQL server hostname/IP]:[MySQL Server Port] [SSH Username]@[SSH Hostname/IP]

3. 다시 Tableau로 돌아와서 localhost 3307번 port로 연결하면 성공적으로 연결 됩니다.

 

제공한 데이터 사용해보기

이미 연결이 잘 되었겠지만 data source가 올바르게 제공되었는지 확인하기 위해 분석 화면으로 넘어와서 차트를 그려볼 수 있습니다.

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함