How to reduce Magic ETL run time
Hi Everyone.
I'm looking for a way to reduce the run time of Magic ETL 2 data flows. The ETL takes about 3 hours 30 minutes to run I'm working with several left joins and formulas in sequence on about 12 datasets of 10k rows each which generates an output of 30k rows. Beyond this, the ETL performs no other complex operations.
Best Answers
-
Have you tried using the performance tiles that are provided in Magic? They should work perfectly for this. Here's the documentation for them:
Was this comment helpful? Click Agree or Like below.
Did this comment solve your problem? Accept it as the solution!0 -
When I'm developing ETLs I like to be a teapot - Short and Stout.
Short
Reduce the dataset size to the smallest you need before doing any more processing. Have a filter tile be your first tile or use a Dataset View to pre-filter your dataset and then use that as your input (this will cause less data to be transferred to Magic ETL engine reducing the execution time. Also by using an Alter Columns or Select Columns to only use the columns you need for the ETL will also help reduce the amount of data the ETL needs to process
Stout
This doesn't mean make your dataset wide with a bunch of columns but we want to be wide and leverage Magic ETL's parallel processing powers. Rather than having a single pipe that you're joining multiple datasets to one at a time do multiple joins or multiple different operations on the datasets before you do a join. For example if I have four tables, customers, orders, order line items, products. Instead of Joining customers to orders and then joining that output to line items and then joining that output to products you'd instead join Customers and orders together in one pipe and at the same time join the line items to the products and then joining those two outputs together. This will allow Domo to do multiple operations at the same time reducing your processing time.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**1
Answers
-
Have you tried using the performance tiles that are provided in Magic? They should work perfectly for this. Here's the documentation for them:
Was this comment helpful? Click Agree or Like below.
Did this comment solve your problem? Accept it as the solution!0 -
When I'm developing ETLs I like to be a teapot - Short and Stout.
Short
Reduce the dataset size to the smallest you need before doing any more processing. Have a filter tile be your first tile or use a Dataset View to pre-filter your dataset and then use that as your input (this will cause less data to be transferred to Magic ETL engine reducing the execution time. Also by using an Alter Columns or Select Columns to only use the columns you need for the ETL will also help reduce the amount of data the ETL needs to process
Stout
This doesn't mean make your dataset wide with a bunch of columns but we want to be wide and leverage Magic ETL's parallel processing powers. Rather than having a single pipe that you're joining multiple datasets to one at a time do multiple joins or multiple different operations on the datasets before you do a join. For example if I have four tables, customers, orders, order line items, products. Instead of Joining customers to orders and then joining that output to line items and then joining that output to products you'd instead join Customers and orders together in one pipe and at the same time join the line items to the products and then joining those two outputs together. This will allow Domo to do multiple operations at the same time reducing your processing time.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**1
Categories
- All Categories
- 2K Product Ideas
- 2K Ideas Exchange
- 1.6K Connect
- 1.3K Connectors
- 311 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 3.8K Transform
- 656 Datasets
- 115 SQL DataFlows
- 2.2K Magic ETL
- 811 Beast Mode
- 3.3K Visualize
- 2.5K Charting
- 80 App Studio
- 45 Variables
- 771 Automate
- 190 Apps
- 481 APIs & Domo Developer
- 77 Workflows
- 23 Code Engine
- 36 AI and Machine Learning
- 19 AI Chat
- AI Playground
- AI Projects and Models
- 17 Jupyter Workspaces
- 410 Distribute
- 120 Domo Everywhere
- 280 Scheduled Reports
- 10 Software Integrations
- 142 Manage
- 138 Governance & Security
- 8 Domo Community Gallery
- 48 Product Releases
- 12 Domo University
- 5.4K Community Forums
- 41 Getting Started
- 31 Community Member Introductions
- 114 Community Announcements
- 4.8K Archive