Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

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:


 



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? 



 

  • Icey's avatar
    Icey
    4 years ago

    Hi Anonymous ,

     

    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.uk)

     

     

    Best Regards,

    Icey

     

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

3 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      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. 

      • Icey's avatar
        Icey
        Icon for Community Support rankCommunity Support

        Hi Anonymous ,

         

        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.uk)

         

         

        Best Regards,

        Icey

         

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