-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CT-1482] [Feature] Add support for data share objects #217
Comments
@randy-rc Thanks for the detailed write-up! This issue sounds a lot like #179. It would probably make sense to tackle the two together. Tables in other databases (accessed via RA3 cross-db reads) don't appear in In this case, it looks like there's a |
Update to macro redshift__list_relations_without_caching data share section to check for relations under the right database. Prior to this change, generating snapshots in consumer fails as it detects the resulting tables in data share.
|
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please remove the stale label or comment on the issue, or it will be closed in 7 days. |
@jiezhen-chen Is this issue going to be resolved soon? Grateful if this can be resolved in the macro / passing an override to point at the datashare schema... Thanks! |
Just seen that this is no longer fixed in dbt 1.6 - is there any chance this will be looked at soon? Cheers |
@Fleid Just would like some updates, when will this issue be looked at for the future dbt version? We are planning to use serverless for our CICD and currently our workaround is to use the above override macros. |
@rarup1 Unfortunately the PR that was merged didn't end up providing support for datashares. We decided not to use the redshift_connector API call, and instead queried from |
@jiezhen-chen Can you please let us know when dbt will support Redshift datashare? |
@yuna-tang are you able to give me a run through of how you have got your workaround CICD/Dev process working with a RS datashare? I am trying to implement the override macros that were shared above by @randy-rc:
I have set up a test model
Where And then running a deferral:
Where the default target db is The issue I am having at the moment after deploying the macros above is actually getting them to pick up the datashare columns. The jinja compile is column-less:
Interested to hear how you got yours working! Cheers update It was due to the svv_datashare_object not being accesible for the warehouse datashare for any user other than root/admin. I got it working by testing out the whole process with root as the user. The performance was shockingly slow however and I will be looking into saving the svv_ tables in our dwh as a workaround. |
@rarup1 sorry for the late reply. I also tried the test model For us to use serverless with Datashare, we need to configure all our datasource.yml file to hardcode the database & schema to our main cluster, and then we will be able to create the sample version of downstream models in the serverless.
Then we need to add below in the datashare :
|
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days. |
closing in favor of #742 |
Is this your first time submitting a feature request?
Describe the feature
Issue 1
Calling dbt_utils.get_column_values on a data share object results in error
dbt Cloud System Logs (Details) captures the statement used to check if object of concern exists. Unfortunately data share objects are not stored in both pg_tables and pg_views and hence the "does not exist" error.
Issue 2
Calling adapter.get_columns_in_relation on a data share object does not result in error but no result is returned
Describe alternatives you've considered
Statement used to check if object of concern exists is found in macro redshift__list_relations_without_caching which references macro postgres__list_relations_without_caching and thus a solution is to overwrite redshift__list_relations_without_caching to get the required information from svv_datashare_objects.
Similarly statement used to check if columns exists is found in macro redshift__get_columns_in_relation and thus a solution is to overwrite redshift__get_columns_in_relation to get the required information from svv_all_columns
and svv_datashare_objects.
Who will this benefit?
Any users who are exploring the use of Redshift data share.
Are you interested in contributing this feature?
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: