Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
garrettmindrup
Frequent Visitor

Teradata import Error - No More Spool Space

Hello, 

I've written a SQL query to run against our Teradata DB, but when I run it in PowerBI, I get the following error:


 

PBI_TAS_Spool_Error.jpg

When I run my query in the Teradata application, I get no issues and it pulls just fine. It's pulling ~7 million rows of data and 65 columns. I've pulled queries with at least 11 million rows before and had no issues (albeit probably fewer columns). 

Any ideas on what the issue is or how I could resolve it? 

 

UPDATE:

I was told on a seperate forum that PowerBI runs SQL queries twice when pulling data. If this is true, this would explain why I run out of spool space in PowerBI but not in Teradata Studio. Can anyone confirm this is how PowerBI runs queries? 



 

1 ACCEPTED SOLUTION

Hi @garrettmindrup ,

 

This may help you:

 

 It turns out this is just another example of what I blogged about herePower BI wants to know the schema of the table before the query actually runs, so it asks Power Query to return the top 0 rows. Unfortunately, in this case query folding can’t take place and the top 0 filter can’t be pushed back to the database, so the entire query gets run once to get the schema and once to get the data.

 

The solution is the same as the blog post I just mentioned too: use the Table.View M function to hard-code the schema returned by the query and implement query folding manually. Here’s the adapted version of the new query:

 

Reference: Chris Webb's BI Blog: Why Is Power BI Running My SQL Query Twice? Chris Webb's BI Blog (crossjoin.co...

 

 

Best Regards,

Icey

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

3 REPLIES 3
amitchandak
Super User
Super User

@garrettmindrup , refer if the option , can help

MODIFY [PROFILE profile_name | USER user_name ] AS SPOOL = 100000000 bytes ;

 

https://stackoverflow.com/questions/12479691/no-more-spool-space-in-database

Thanks, @amitchandak. I've tried this and I don't have rights to modify user spool in Teradata. My spool space is almost 812,000,000,000. 

Do you know if trying to run the query through PowerBI somehow limits my spool space? My query runs just fine in the Teradata application with no spool space errors, it only occurs when trying to pull from PowerBI. 

Hi @garrettmindrup ,

 

This may help you:

 

 It turns out this is just another example of what I blogged about herePower BI wants to know the schema of the table before the query actually runs, so it asks Power Query to return the top 0 rows. Unfortunately, in this case query folding can’t take place and the top 0 filter can’t be pushed back to the database, so the entire query gets run once to get the schema and once to get the data.

 

The solution is the same as the blog post I just mentioned too: use the Table.View M function to hard-code the schema returned by the query and implement query folding manually. Here’s the adapted version of the new query:

 

Reference: Chris Webb's BI Blog: Why Is Power BI Running My SQL Query Twice? Chris Webb's BI Blog (crossjoin.co...

 

 

Best Regards,

Icey

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.