팔란티어 개발 환경: https://www.palantir.com/developers/
팔란티어 교육 자료: https://learn.palantir.com
온톨로지를 공부하면서
“이걸 실제 업무에 어떻게 적용할 수 있을까?”를 계속 고민해왔습니다.
그러던 중, 이미 시장에서 성과를 증명하며 활발히 활용되고 있는 팔란티어(Palantir) 의 사례가 궁금해졌고,
이를 계기로 진행한 실습 진행과 학습 내용을 정리해 이번 글에서 공유하려 합니다.
팔란티어로 과연 무엇을 할 수 있을까?
End-to-End로 빠르게 실습해보며 팔란티어를 이해하고 싶은 분들께 추천드립니다.
목표
- 실사례 기반 실습으로 팔란티어로 어떻게 해결할 수 있는지 알수있습니다.
- 팔란티어의 주요 구성요소를 직접 다뤄보며 흐름을 이해합니다.
사용하는 팔란티어 기능
- Pipeline Builder (데이터 연결)
- Ontology manager (온톨로지 구축)
- Object Explorer
- Workshop (화면)
- Workspace Navigator
문제 상황 설명
현장 상황
📍 현장 상황
나는 O 회사에서 일한다.
최근 B 회사를 인수합병하면서
주문을 통합 관리해야 하는 상황이 됐다.하지만 시스템 통합은 1년 뒤.
그래서 급한대로 엑셀로 버티기 시작했다.처음엔 괜찮았지만 주문이 늘어나자
누락된 주문, 최신 파일 논쟁, 배송 지연이 계속 터졌다.결국 필요한 건 엑셀이 아니라,
두 시스템을 연결해
주문을 한 곳에서 보고 할당하고
위험 주문을 바로 추적할 수 있는 단일 운영 도구였다.이 문제를 팔란티어 Ontology와 Workshop으로 해결해보려 한다.
문제 정리
- 주문 데이터가 분산되어 통합 관리가 어려움
- 엑셀 수작업으로 오류·누락·버전 혼선이 발생함.
- 주문 할당과 배송 위험을 실시간으로 추적할 운영 도구가 없음
- IT 통합 전까지 버틸 단기 해결책이 부족함.
문제 해결책
- 두 개의 주문 시스템 데이터를 불러와 하나의 데이터 흐름으로 통합
- 주문, 고객, 배송 상태를 업무 객체로 모델링해 단일 기준(Single Source of Truth)을 만든다.
- 관리자가 주문을 할당하고, 미처리·배송 위험 주문을 실시간으로 모니터링하는 운영 도구를 제공한다.
해결 흐름
- 데이터 load, 통합 (Pipeline Builder)
- 온톨로지 구축 (Ontology Manager)
- 모니터링과 운영 업무를 실행하는 애플리케이션 레이어 (Workshop)

사용자:
- Fulfillment Managers (주문 추적을 관리 감독 해야 하는 사람들)
- Fulfilment Operators (주문을 처리하는 담당자 또는 미처리 주문을 배정하는 사람들)
대상 데이터:
- Office Goods Fulfillment 회사의 주문 데이터
- Bureau Fulfillment 회사의 주문 데이터
팔란티어 구현
프로젝트 환경 세팅
- 프로젝트는 리소스를 담는 폴더
- 팔란티어 프로젝트는 관련 리소스를 묶고 권한을 통제하는 경계단위
프로젝트 생성

- Production project는 나만 보이는 것
- Sandbox project는 모두 볼 수 있는 것
(나만 볼수 있게 Production project로 선택)

프로젝트 이름과 설명은 어떤 내용인지 잘 알아볼수 있도록 적는다.
(프로젝트 검색에 빨리 찾을 수 있도록 영어 이름 넣기.)
프로젝트 이름: palantir learning <생각나는 영어 이름>
프로젝트 이름: palantir learning Leon
상세설명: personal project for palantir learning courses.
즐겨찾기 추가
- 왼쪽 하단에 프로젝트가 즐겨찾기로 추가 된 것을 확인할 수 있다

폴더 생성
- 리소스를 모아 관리할 폴더 생성
- 폴더 이름 : Speedrun: Your First E2E Workflow


여기까지 프로젝트 기본 세팅
이제부터 실제 작업은…
- 데이터 load, 통합 (Pipeline Builder)
- 온톨로지 구축 (Ontology Manager)
- 모니터링과 운영 업무를 실행하는 애플리케이션 레이어 (Workshop)

1. 데이터 로드, 통합
Pipeline Builder
Pipeline Builder를 사용하여
- 엑셀로 관리되는 두 개의 주문 시스템 데이터를 불러와 하나의 데이터 흐름으로 통합
- 데이터 ELT (데이터 연결, 데이터 로드, 데이터 변환)
O회사 주문 내역: orders_office_goods-202602100958.csv
B회사 주문 내역: orders_bureau_transactional_system-202602100958.csv
두회사 통합 고객 목록: consolidated_customers-202602100958.csv
데이터 연결
데이터 업로드
폴더 안에 들어가서 다운로드 받은 엑셀 파일을 업로드


데이터 업로드 확인

데이터 로드
- 노코드 툴 Pipeline Builder 를 통한 데이터 로드하여 데이터를 확인합니다.
Pipeline Builder 생성

- 어떤 파이프라인인지 명확한 이름을 입력

Pipeline에서 작업할 데이터 불러오기


데이터 확인
불러온 데이터 확인



같은 방법으로 데이터를 확인.
데이터를 확인해보니...
- 날짜 형식이 불일치
order_due_date(Bureau),dueDateTime(Office Goods)- Date 문자열 저장 → Timestamp로 변환 필요.
- PK가 없는 주문이 존재
order_id,orderId가 null이거나 빈 문자열인 불완전한 행.- 컬럼명이 시스템마다 다름
- Office Goods는 camelCase(
dueDateTime,orderId)- Bureau는 snake_case(
order_due_date,order_id)- Office Goods에만 있는 컬럼
orderPlacementDate는 Bureau에 없는 컬럼.
O회사(Office Goods) 주문 내역 구성
| 컬럼 | 타입 | 설명 |
|---|---|---|
dueDateTime | string (M/D/YY) | 납기일 |
orderId | string (접두사+UUID) | 주문 고유 ID (PK) |
customer_id | string (A+숫자) | Office Goods 고객 ID |
orderPlacementDate | string (ISO 8601) | 주문 접수 일시 |
status | string (카테고리) | 주문 상태: assigned / closed / open |
assignee | string (nullable) | 담당자명 |
quantity | int64 | 주문 수량 |
item_name | string (카테고리) | 품목명 (10종) |
unit_price | int64 | 단가 (20~110) |
days_until_due | int64 | 납기까지 남은 일수 |
B회사(Bureau) 주문 내역 구성
| 컬럼 | 타입 | 설명 |
|---|---|---|
order_id | string (UUID 연결형) | 주문 고유 ID (PK) |
customer_id | string (UUID) | Bureau 고객 ID |
status | string (카테고리) | 주문 상태: assigned / closed / open |
assignee | string (nullable) | 담당자명 |
quantity | int64 | 주문 수량 |
item_name | string (카테고리) | 품목명 (10종) |
unit_price | int64 | 단가 (20~110) |
order_due_date | string (M/D/YY) | 납기일 |
days_until_due | int64 | 납기까지 남은 일수 |
두 회사 통합 고객 목록 구성
두 시스템 간 고객 ID 매핑(마스터) 테이블
| 컬럼 | 타입 | 설명 |
|---|---|---|
officegoods_customer_id | string (nullable) | Office Goods 고객 ID |
bureau_customer_id | string (nullable) | Bureau 고객 ID |
consolidated_customer_id | string (UUID) | 통합 고객 ID (PK) |
customer_name | string | 고객명 |
다시 Pipeline Builder 로 돌아가기
데이터 변환
- 데이터를 살펴보며 확인한 데이터 정리, 변환 작업
데이터 정리, 통합 작업
- 데이터 클랜징 (PK가 없는 주문 삭제)
- 컬럼명 규칙 통일
- 날짜 형식 일치 시키기
orders_office_goods (Clean Office Goods)
orderId가 null/빈 문자열인 행 제거dueDateTime을 Date → Timestamp로 변환dueDateTime→order_due_date로 컬럼명 변경orderPlacementDate컬럼 삭제- 컬럼명 정규화 (snake_case 통일)

orderId가 null/빈 문자열인 행 제거Filter Rows검색


dueDateTime을 Date → Timestamp로 변환Cast검색

dueDateTime→order_due_date로 컬럼명 변경Rename columns검색

orderPlacementDate컬럼 삭제Drop columns검색

- 컬럼명 정규화 (snake_case 통일)
Normalize column names검색

어떤 변환 작업인지 구분하기 위해 Transform 이름을 지정 (clean office goods)
- apply 버튼 클릭 후 close 버튼

orders_bureau_transactional_system (Clean Bureau)
order_due_date를 Date → Timestamp로 변환order_id가 null/빈 문자열인 행 제거- 컬럼명 정규화 (snake_case 통일)

order_id가 null/빈 문자열인 행 제거Filter Rows검색

order_due_date를 Date → Timestamp로 변환Cast검색

- 컬럼명 정규화 (snake_case 통일)
Normalize column names검색

어떤 변환 작업인지 구분하기 위해 Transform 이름을 지정 (clean bureau)
- apply 버튼 클릭 후 close 버튼

데이터 통합
주문, 고객, 배송 상태를 업무 객체로 모델링해 단일 기준(Single Source of Truth)을 만든다.
데이터 하나로 만들기
- 합병 되면서 만든 통합 고객 id 기준으로 데이터 하나로 만들기
통합 고객 id 정보 붙이기
- clean office goods



- 확인

- clean bureau



- 확인

하나의 주문 테이블로 만들기


- Union 작업 이름 입력 : Union Orders
- 앞에서 두 데이터의 스키마를 통일하는 작업으로 데이터 합치는 작업 가능

- 팔란티어 내 다른 앱에서 사용할 수 있도록 dataset으로 만들어 줍니다.


- 데이터셋 이름 지정: all_orders

- 저장하고 파이프라인 디플로이


여기까지 파이프라인으로
데이터를 정리하고 통합하는 과정을 만들었습니다.
파이프라인을 deploy하면서 실제 데이터 파이프라인이 동작하고
결과 dataset이 만들어집니다.
이제 깔끔하게 정리된 이 데이터를 온톨로지에 넣고 활용해보자.
2. 온톨로지 구축
Ontology Manager를 사용하여 온톨로지 구축
단순한 데이터 셋 → 관계성을 부여할 수 있는 형태로의 변환
Ontology manager


온톨로지 객체 생성
기존에 만든 데이터를 불러와 온톨로지 객체로 생성.



- 온톨로지 객체에 생성할 property 정보와 primary key, title을 설정
- 여기서는 기타 정보는 그대로 가져오고 primary key, title 만 설정

- 온톨로지를 수정할 수 있는 actions는 뒤쪽에서 다루니 지금은 객체 정의만 하고 생성

온톨로지 객체 반영
- Save를 눌러야지만 온톨로지에 반영된다.
- Save를 누르면 dataset으로 부터 팔란티어 자체 object storage에 색인 작업을 진행
- 색인이 완료되면 오브젝트 1,492 objects 확인

3. 모니터링과 운영 업무를 실행하는 애플리케이션 레이어
- 온톨로지를 기반으로 운영하는 운영 도구 개발
- 관리자가 주문을 할당
- 미처리·배송 위험 주문을 실시간으로 모니터링
Workshop
화면을 구성하고, 온톨로지 객체를 불러와 데이터를 보여주며, 온톨로지 Action과 연동하여 화면에서 온톨로지 객체를 생성,수정,삭제 가능하게 합니다.
워크샵 모듈 생성

- 워크샵 이름:
[사용자이름] Orders Inbox - Location: 내가 만든 프로젝트에 folder (Speedrun: Your First E2E Workflow)


워크샵 화면 구성 작업은 교육 자료에 상세하게 나와 있어 생략합니다.
핵심은 구축한 온톨로지를 화면에 불러와 여러 가지 위젯을 통해 보여줄수 있다는 것입니다.
워크샵 화면 구성 완료

Ontology manager
워크샵에 온톨로지 Action 연동
- 온톨로지에 구축한 데이터를 보기만 하는게 아니라 생성, 수정, 삭제가 가능하도록 연동합니다.
온톨로지 객체 수정 가능하도록 enable




온톨로지 객체 수정 Action 정의
- 객체를 생성,수정,삭제 작업을 할 수 있는 Action 과 실행 권한을 정의할 수 있다.
- 여기서는 액션 동작 시 객체를 수정하도록 정의
- 주문 작업에 대한 할당을 Action 으로 정의







Workshop
- 이제 애플리케이션에 Action을 버튼에 연동
워크샵 모듈 찾아 들어가기
버튼에 Action 연동하기



동작 확인하기
- View 버튼을 눌러 제대로 동작하는지 확인해보자.



기타_리니지 기능
데이터 리니지


워크플로 리니지





