Tabpy – Table Extension으로 태블로에 파이썬 스크립트 바로 호출하기

Intro

오랜만에 신기능 소개를 할까 합니다. 태블로 데스크탑 2022.3 버전부터 Table Extension (테이블 확장 프로그램) 기능을 사용할 수 있습니다. Table Extension은 데이터 연결 단계에서 Python 또는 R, Einstein Discovery에서 작성한 스크립트를 추가하여 새로운 데이터 테이블을 만들 수 있는 기능입니다. 

데이터 분석의 과정 - Table Extension을 이용하면 모든 단계를 태블로 플랫폼 위에서 수행할 수 있습니다.

기존에는 복잡한 데이터 모델링이 필요한 경우, 데이터 수집, 전처리 및 모델링의 단계는 파이썬, R, 아인슈타인 디스커버리 등 별도의 플랫폼에서 처리한 후, 그 결과를 태블로로 가져와 시각적 분석의 단계를 나누어 진행해야 했는데, 이제 이 단계를 하나의 플랫폼 위에 통합 수행할 수 있게 된 것입니다. 구체적인 예제를 통해 알아보겠습니다. 

How To

1️⃣ Tabpy 설치 및 실행

도움말 > 설정 및 성능 > 분석 확장 프로그램 연결 관리
Terminal > Tabpy 실행

호출할 스크립트 언어에 대한 서버 설치가 필요합니다. 저는 Python 스크립트를 호출할 예정이므로, Tabpy 서버를 설치하고 실행하였습니다.

Tabpy 설치 가이드는 깃허브를 참고하면 되고, 터미널 실행 후, 데스크탑 > 설정 및 성능 > 분석 확장 프로그램 연결 관리에 가서 연결할 Tabpy 서버 접속 정보를 입력합니다.

2️⃣ 데이터 연결 – 파일

Table Extension 옵션은 ‘파일에 연결’ 선택 시 노출되는 창 안에 있습니다. 파일에 연결에서 Excel 유형 선택 후, 임의의 엑셀 파일을 연결합니다.

왼쪽 하단의 새 테이블 확장 프로그램을 드래그하여 여기로 테이블 끌기로 가져옵니다.

3️⃣ 스크립트 호출

Python으로 미리 작성해두었던 스크립트를 그대로 복사하여 붙여넣습니다. 이 예제에서 작성한 스크립트는 네이버 영화에서 아바타 리뷰를 크롤링한 다음, 문장을 토큰화하고, 데이터프레임 형태로 변환하는 처리 과정을 담고 있습니다. 

👉 해당 스크립트 내용이 궁금하신 분은 이 링크를 참고하세요.

👉 아바타 리뷰 분석 결과 대시보드와 스토리는 이 링크에서 보실 수 있습니다. 

⚠️ Return Dataframe into Dictionary

유념하셔야 하는 부분은 ‘데이터프레임’이 아닌 ‘딕셔너리’ 형태로 데이터 유형을 가져와야 태블로에 테이블 형태로 정상적으로 호출된다는 점입니다. 이 처리를 위해 아래 한 줄을 마지막에 추가하였습니다. 

				
					return df.to_dict(orient='list')
				
			

유념할 점

1️⃣ Config 파일 파라미터 바꾸기

tabpy가 설치된 위치에서 default.config 파일을 찾습니다.
TABPY_EVALUATE_TIMEOUT 파라미터 변경

tabpy는 config 파일을 통해 몇 가지 파라미터 튜닝을 지원합니다. 가령, 기본적인 timeout 설정은 30초인데, 실행하는 스크립트의 실행 시간이 30초보다 길다면 파라미터를 변경해야 합니다.

 

이번 시나리오는 크롤링 과정을 포함하고 있기 때문에 데이터 수집 과정에 상당한 시간이 필요하였고, default.config 파일에서 TABPY_EVALUATE_TIMEOUT 설정을 변경하였습니다. 이 때, 기본적으로 #이 붙어 있으므로, 파라미터가 적용되기 위해서는 #을 지운 다음, 저장하고 다시 Tabpy를 실행하세요.

2️⃣ 추출 미지원

추출 옵션을 지원하지 않습니다. 따라서 데스크탑을 열 때마다 스크립트가 재실행되며, 한번 실행이 끝나면 다시 요청하기 전까지 재실행되지 않습니다.

3️⃣ 태블로 서버/태블로 클라우드 게시 시, Tabpy 서버 구성

태블로 서버에 구성할 때는 Tabpy 서버를 별도로 구성하여야 하며, 태블로 서버가 Tabpy 서버와 통신할 수 있도록 설정해야 합니다. 자세한 내용은 링크를 참고하세요. 태블로 서버는 단독 장비 구성을 권장하므로 Tabpy와 같은 확장 프로그램을 사용하는 경우, 별도의 장비에 구성해야 합니다. 

One thought on “Tabpy – Table Extension으로 태블로에 파이썬 스크립트 바로 호출하기

댓글 남기기

태블로위키만의 새로운 소식, 놓칠 수 없겠죠?