🎉 Snowflake Destination internal staging support - #8253
Conversation
|
vmaltsev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
|
/test connector=connectors/destination-snowflake
|
Liren Tu (tuliren)
left a comment
There was a problem hiding this comment.
The test failure does not look relevant to this PR. The issue should have been fixed already on the master branch. Maybe you just need to merge master and the build should pass.
|
/publish connector=connectors/destination-snowflake
|
|
Can not publish new version at the moment. This PR #5814 broke normalization step |
|
/publish connector=connectors/destination-snowflake
|
* Snowflake Destination: implemented internal staging * fix checkstyle * improved perfomance of sync * added changelog * test refactoring * removed file chunking * add docs * added javadoc, updated spec * refactoring * bump version Co-authored-by: vmaltsev <vitalii.maltsev@globallogic.com>
What
Records can be inserted into snowflake using a standard SQL INSERT statement or by first copying the data to blob storage (e.g: azure, gcs, s3, snowflake internal) then using the COPY command to read that data into snowflake. The staging approach is an order of magnitude faster and should pretty much always be used except for the smallest data volumes/proof of concepts.
The snowflake destination currently supports staging to S3. it should also support internal staging as described here: https://docs.snowflake.com/en/user-guide/data-load-considerations-stage.html
How
Workload :
CREATE STAGE @TEMP_STAGE_NAME
PUT file://local/some_folder/* @TEMP_STAGE_NAME.
COPY FROM @TEMP_STAGE_NAME
DROP @TEMP_STAGE_NAME
Standard Inserts 3 millions records


Internal Staging 3 millions records
Recommended reading order
x.javay.python🚨 User Impact 🚨
Are there any breaking changes? If yes, please make sure to include it here and in any changelogs with the 🚨🚨 emoji
What is the end result perceived by the user?
Pre-merge Checklist
Expand the relevant checklist and delete the others.
New Connector
Community member or Airbyter
airbyte_secret./gradlew :airbyte-integrations:connectors:<name>:integrationTest.README.mdbootstrap.md. See description and examplesdocs/SUMMARY.mddocs/integrations/<source or destination>/<name>.mdincluding changelog. See changelog exampledocs/integrations/README.mdairbyte-integrations/builds.mdAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>command is passing./publishcommand described hereUpdating a connector
Community member or Airbyter
airbyte_secret./gradlew :airbyte-integrations:connectors:<name>:integrationTest.README.mdbootstrap.md. See description and examplesdocs/integrations/<source or destination>/<name>.mdincluding changelog. See changelog exampleAirbyter
If this is a community PR, the Airbyte engineer reviewing this PR is responsible for the below items.
/test connector=connectors/<name>command is passing./publishcommand described hereConnector Generator
-scaffoldin their name) have been updated with the latest scaffold by running./gradlew :airbyte-integrations:connector-templates:generator:testScaffoldTemplatesthen checking in your changes