Data Connection in 10min
In this video, "Data Connection in 10min" by Ontologize, former Palantir engineers break down how data enters and exits Palantir Foundry [00:00].
Below is an end-to-end operational guide and use-case analysis based on the concepts, architecture, and realistic examples (like the Ontologize Theme Park) presented in the tutorial.
Architectural Process Map: Ingestion to Ontology Action
Understanding data movement through Foundry requires looking at Ingress (bringing data into datasets) vs. Egress (triggering operational webhooks):
PALANTIR FOUNDRY DATA CONNECTION
┌────────────────────────────────────────────────────────────────────────┐
│ [ External Data Sources ] │
│ ├── Public Cloud / APIs (Snowflake, S3) ──> Direct Connection │
│ └── On-Prem / VPC (Kafka, ERP) ──> Agent-Based (Polled) │
└──────────────────────────────────┬─────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ [ Sync Execution (Ingress) ] │
│ ├── Files/Unstructured ──> Snapshot / Incremental ──> Dataset Extract│
│ ├── Tabular Data ──> Append / Snapshot ──> Dataset Extract│
│ └── Streaming ──> Continuous Stream ──> Real-Time Stream│
└──────────────────────────────────┬─────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ [ Data Pipeline & Transformation ] │
│ └── Pipeline Builder / PySpark ──> Input Trigger ──> Clean Datasets │
└──────────────────────────────────┬─────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────────┐
│ [ Ontology & Operational Egress ] │
│ └── Backed Object Types ──> Object Monitor / Rule Alert │
│ │ │
│ ▼ │
│ Action / Webhook (Twilio / External API) │
└────────────────────────────────────────────────────────────────────────┘
Step-by-Step Guidance: Setting Up Data Connection & Syncs
- Define and Provision Data Sources: Choose between Direct or Agent-Based connection strategies.
- Navigate to the Data Connection application in Foundry [00:00].
- Click + New Source and choose the connection model based on your network architecture [01:06]:
- Direct Connection: Ideal for public internet endpoints (e.g., Snowflake, AWS S3, REST APIs) [01:14]. Follow the wizard or select generic connectors like JDBC [01:34].
- Agent-Based Connection: Required for private subnets, on-premises DBs, or VPCs [01:57]. Download the agent installer onto your infrastructure (e.g., an Azure VM monitoring a local Kafka broker) [02:22]. The agent polls Foundry outbound for instructions and pushes data back [02:14].
-
Configure credentials and define user/group access permissions directly on the source [00:45].
-
Configure Network Egress Policies: Ensure security rules permit inbound/outbound calls.
-
By default, Foundry restricts outbound calls to external hostnames [08:16].
-
During source setup or sync configuration, check for recommended egress domains suggested by the Data Connection wizard [08:37].
-
Add required target domains/IPs to your organization's Network Egress Policies before running syncs [08:33].
-
Configure and Run Syncs: Define data extraction frequency and write modes.
-
Select your source and click Explore Source to browse buckets, tables, or topics [03:28].
-
Choose the extraction strategy suited to your data shape [03:39]:
- File/JSON (e.g., AWS S3): Choose file/folder paths. Set snapshot frequency (e.g., daily at midnight) [03:45].
- Tabular (e.g., Snowflake): Select tables/views. Choose Append mode (adding new rows) and Incremental syncs to only ship changed data [04:04].
- Streaming (e.g., Kafka): Set up continuous streams for sensor telemetry [02:28, 04:22].
-
Execute the sync and monitor progress inside the Builds App (Job Tracker) [05:08].
-
Build Pipelines & Set Input Triggers: Connect raw sync extracts to downstream schedules.
-
Open Pipeline Builder or a Code Repository and pull in the dataset extract produced by the sync [05:51].
-
Transform raw data into cleansed operational datasets backing Ontology objects [05:32].
-
Configure dataset schedules using Input Triggers so downstream pipelines automatically re-run when new sync data lands [06:04].
-
Set Up Webhooks for Operational Egress: Configure write-back/actions to external systems.
-
Create a Source configured for external API calls (e.g., Twilio, SAP, or REST endpoints) [07:04].
-
Define a Webhook specifying the HTTP method, payload schema, and endpoint URL [07:04].
-
Attach the webhook to an Ontology Action triggered via Workshop buttons, Object Monitors, or Foundry Rules [07:12].
Realistic Use Case Analysis: The "Ontologize Theme Park"
The video illustrates these concepts using an operational theme park scenario.
1. Ingestion Strategy Breakdown
| Data Source | Source Type | Sync Strategy | Pipeline Role & Output |
|---|---|---|---|
AWS S3 (rides.json) | Direct Connection [03:22] | Snapshot Sync (Daily at Midnight) [03:45] | Ingests park ride metadata and static capacities into raw dataset extracts [04:37]. |
Snowflake (guest_rides) | Direct Connection [01:22] | Incremental Append Sync [04:11] | Pulls transaction and guest entry/ride logs into downstream clean datasets [04:44]. |
| Kafka Cluster (Sensors) | Agent-Based (Azure VM) [02:22] | Continuous Streaming Sync [04:22] | Ingests real-time temperature/break telemetry from roller coaster stations [02:28]. |
2. Best Practices & Optimization Highlights
Avoiding Compute Waste (Pipeline Schedule Design)
- Problem: Setting multiple sync datasets as Input Triggers for a single downstream pipeline causes the entire pipeline to re-run every time any single source updates [06:17].
- Impact: If Source A updates daily and Source B updates daily at different times, a dual-trigger pipeline runs twice per day, consuming 2x compute power unnecessarily [06:32].
- Solution: Designate a single primary dataset (e.g., the high-frequency guest ride log) as the sole input trigger, keeping static dimension datasets (like
rides.json) as non-trigger inputs [06:45].
Webhook Egress vs. Bulk Sync
- Syncs: Designed for scheduled or continuous bulk data ingestion into Foundry datasets [08:08].
- Webhooks: On-demand, transactional event egress [08:08].
- Example: In the video, when an Object Monitor detects a dip in ridership across roller coasters, it triggers an Action that executes a Twilio Webhook to send an automated SMS alert to the park sector manager [07:31].