-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
feat(data-warehouse): New snowflake source #29317
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
This PR adds a new Snowflake data source to PostHog's data warehouse functionality, leveraging the snowflake-connector-python package for simplified data retrieval.
- Added
posthog/temporal/data_imports/pipelines/snowflake/snowflake.py
with support for both password and key-based authentication - Updated snowflake-connector-python from version 3.6.0 to 3.13.2 in requirements files
- Implemented PyArrow-based data retrieval for efficient schema/type handling without manual mapping
- Modified
import_data_sync.py
to use the dedicated snowflake module instead of generic sql_database - Removed unused
team_id
parameter from mysql_source function for code cleanup
6 file(s) reviewed, 3 comment(s)
Edit PR Review Bot Settings | Greptile
user: Optional[str], | ||
password: Optional[str], | ||
passphrase: Optional[str], | ||
private_key: Optional[str], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you could possibly handle the optionals earlier in the other function, to avoid optional parameter passing through 2 functions the chain here, but not a huge deal either way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, probably want to monitor this one.
This reverts commit 8fef3f6.
Changes
snowflake-connector-python
package, supported by snowflake!Does this work well for both Cloud and self-hosted?
Yes
How did you test this code?
Yep, tested a bunch locally