Skip to content
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

Integrate Snowflake Migration (via snowflake connector) #43

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

forksumit
Copy link
Collaborator

Add snowflake as a new supported data source for migrations

  • Add cloud run app code for snowflake connector proxy which is a web application to communicate to snowflake connector jar which initializes and kills jar on each request based on input params.
  • Add dags for snowflake connector proxy integeration
  • Add dags for schema ddl extraction and validation

Note: Migration DAGs in this PR are using snowflake connector via snowflake connector proxy which is a temporary stopgap solution until snowflake connector is released with run-time setup feature

forksumit and others added 10 commits March 21, 2024 21:18
* add snowflake-connector-proxy code

* typo fix

* remove unused comment lines

* lint fix

* remove snowflake-proxy tests

* add dag code for snowflake proxy integeration

* add sleep log

* Add base doc for snowflake migration

* fix doc
…n endpoint (#28)

* add snowflake-connector-proxy code

* typo fix

* remove unused comment lines

* lint fix

* remove snowflake-proxy tests

* add dag code for snowflake proxy integeration

* add sleep log

* Add base doc for snowflake migration

* fix doc

* Add authorization header in cloud run endpoint calls

* env var rename

* doc: add pre-req step

* readme merge conflict fix

* readme merge conflict fix
* Adding translation and validation for snowflake

* Making linting changes

* Making linting changes

* lint fix

* import order fix

---------

Co-authored-by: Sumit Banerjee <[email protected]>
* add ./extract-ddl route to snowflake connector proxy

* move snowflake connector proxy code to translation dir

* move sf_connector_utils to common

* move sf_connector_utils to common: dag changes

* lint fix

* Handling for non-json response

* import order fix

* isort for black profile

* comment fix
* Adding translation and validation for snowflake

* Making linting changes

* Making linting changes

* lint fix

* import order fix

* Adding ddl extraction,translation and validation for snowflake

* Adding ddl extraction,translation and validation for snowflake

* Resolving syntax errors

* Making lint changes

* Fixing linting changes

---------
* Adding translation and validation for snowflake

* Making linting changes

* Making linting changes

* lint fix

* import order fix

* Adding ddl extraction,translation and validation for snowflake

* Adding ddl extraction,translation and validation for snowflake

* Resolving syntax errors

* Making lint changes

* Fixing linting changes

* Adding support for using secret manager for password

---------
…#38)

* Adding translation and validation for snowflake

* Making linting changes

* Making linting changes

* lint fix

* import order fix

* Adding ddl extraction,translation and validation for snowflake

* Adding ddl extraction,translation and validation for snowflake

* Resolving syntax errors

* Making lint changes

* Fixing linting changes

* Adding support for using secret manager for password

* Resolving issues due to translated files

* Making changes for validation error due to lineage folder

* Correcting linting changes

* Correcting linting changes

---------

Co-authored-by: Sumit Banerjee <[email protected]>
### Tool Features

* Initial release will support bulk load data transfer only.
* Initial release will support Snowflake to BigQuery translation using BQ DTS, row and column validation of the data in source and target.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

says "Snowflake to BigQuery translation using BQ DTS", this is incorrect. Should be "BQ Translation service"

* Snowflake Account URL
* Snowflake JDBC URL
* Snowflake Warehouse name with access to required snowflaketables/schemas to migrate
* Snowflake Storage Integeration with access to staging gcs buckets you wish to use for migration ([Steps](https://docs.snowflake.com/en/user-guide/data-load-gcs-config#configuring-a-snowflake-storage-integration) - Check Step 1, 2, 3)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Snowflake Storage Integeration" - the word "integration" has a typo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants