In Looker version 5.12, persistent derived table (PDT) jobs can connect using separate JDBC parameters (host, port, user, database, etc). This is valuable for a number of reasons:
- PDT jobs can authenticate through a separate database user, with a higher query queue (a.k.a. workload management) priority. This way the database can prioritize the PDT jobs over less-critical user queries.
- Write access can be revoked for the standard Looker database connection, and only granted to a special user that PDT jobs will authenticate through. This is a better security posture for most organizations.
- For databases like Snowflake, PDT jobs can be routed altogether to more powerful hardware that is not shared with the rest of the Looker users. This way PDTs can build quickly without incurring the cost of running expensive hardware 24/7.
How It Works
On the edit connection screen, if you have PDTs enabled you may override any of the existing connection properties, like host, port, username, password, and whatever else is being used to specify the database connection.
In this example, I've overridden the "Additional Params" property for a Snowflake connection with a separate warehouse called "my_sweet_cluster".
Can I now use PDTs on my parameterized connection?
Yes! You can, if and only if you're parameterizing the connection with user attributes.
Can the override be parameterized as well?
Can I write my PDTs to a separate database altogether?
You can, but if they aren't visible to the default connection then you won't be able to query them. So in most cases this will not work.