NOTE: This article was written during the release of Looker 3.26. During the Looker 3.46 release cycle, this article was posted. The newer article has a more complete list of “streamable” dialects and cases when streaming does and does not work. However, one should not assume that the information in Will it stream? is applicable to prior releases.
Looker streams downloads for Redshift, Postgres, and MySQL databases as of Looker 3.26.
Streaming makes downloading in Looker more robust by downloading result sets in small chunks rather than downloading the entire set at once.
##When does Looker not stream downloads?
Looker will not stream downloads in a couple situations. In these situations, we recommend avoiding unlimited downloads, as they can cause stress on your Looker instance.
In these cases, the Looker machine needs to load the entire dataset into memory, which means that if the result set is extremely large (generally larger than 5,000 rows) it could consume all the memory on the machine and cause an automatic restart of the instance.
For this reason, we recommend avoiding unlimited downloads for Looks that contain table calculations, pivots, or totals.
Looker does not stream downloads for any dialect besides Redshift, Postgres, and MySQL. If you are using a SQL dialect besides these three, we recommend downloading with a limit for large queries.