Add Snowflake SQL driver to SQL components #1507
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When inserting large amounts of data, the
snowflake_put
output should outperformsql_insert
because it uses Snowpipe directly. However, the Snowflake SQL driver also attempts to send the data to a temporary stage when the number of messages in a batch exceeds an undocumented threshold, but it's not very consistent. Details here.This implementation should satisfy the basic use cases, but it might be possible to optimise inserts later by binding array variables to parameters. Details here.
Unfortunately, I was unable to add integration tests based on MySQL as described here because this code does not allow me to set the
authenticator
parameter totokenaccessor
, so I can't get the driver to bypass the authentication step. There might be other blockers too, not sure.