DatriseAI-first ETL

My Hours to Amazon Redshift Integration

AI-first ETL from My Hours into Amazon Redshift. Governed entities, incremental sync, typed landing tables.

How Datrise loads My Hours into Amazon Redshift

Datrise syncs My Hours's time logs, projects, tasks, clients, team members, and billable rates into Amazon Redshift as a typed table per source entity. Flexible or custom fields land in SUPER columns, and timestamps such as created, updated, and status changes are typed as TIMESTAMPTZ.

Sync is incremental: Datrise uses COPY from staged files, then a delete-and-insert merge on stable id, so re-runs update only what changed. A DISTKEY on the join id and a SORTKEY on the load timestamp. Redshift performance hinges on dist/sort keys, so Datrise picks them from your entity ids and sync timestamps rather than defaulting to EVEN distribution.

Ideal for AWS-native warehouses already using the Redshift ecosystem.

Endpoints

My Hours: Time tracking and billable hours for projects.

Amazon Redshift: AWS petabyte-scale warehouse with Spectrum.

How My Hours entities map to Amazon Redshift

My Hours entityAmazon Redshift objectNotes
time logsmy_hours_time_logsid PK · custom fields → SUPER columns
projectsmy_hours_projectsid PK · linked to my_hours_time_logs
tasksmy_hours_tasksid PK · linked to my_hours_time_logs
clientsmy_hours_clientsid PK · linked to my_hours_time_logs

FAQ

How does Datrise handle My Hours's custom fields in Amazon Redshift?

Flexible values are stored as SUPER columns, so new fields don't require a migration; strongly-typed fields — dates, numbers, and references — are promoted to native Amazon Redshift types.

How does the My Hours to Amazon Redshift sync stay up to date?

It runs incrementally — Datrise uses COPY from staged files, then a delete-and-insert merge on stable id.

Related pipelines

Early access

Connect My Hours to Amazon Redshift the easy way

Skip brittle scripts and manual exports. Join the waitlist to get a guided setup, AI-assisted mapping, and reliable incremental sync for this integration.