A data science package for data movement and transformation
Project description
This script requires some initial setup to be completed before using it:
- Export your Platform API credentials to your localhost's environment variables as SCH_CRED_ID (credential id) and SCH_AUTH_TOKEN (authentication token).
- Export your Snowflake Password (the password used to log into your Snowflake organization) to your localhost's environment variables as SF_P. You will supply the username as an argument to the snowflake_conn method.
- Export your MySQL password (the password used to authenticate with your MySQL instance) to your localhost's environment variables as MYSQL_P. You will supply the username as an argument to the mysql_conn method.
- Spin up a Transformer deployment with a 'docker' install type, and run the resulting install/startup command
on the same host where the script is being run. Note: you may need to add
-p 19630:19630
to expose the Transformer instance inside the docker container on your localhost's 19630 port. - Use
docker cp
to copy your target CSV file into your Transformer docker container, and use the path of the copied file in thefrom_csv
method.
The current script usage is as follows:
import essx
sx = essx.Sx()
mysql_conn = sx.mysql_conn(host='url.of.mysql:port', username='username')
snowflake_conn = sx.snowflake_conn(account='snowflake-account', role='SNOWFLAKE_ROLE',
warehouse='SNOWFLAKE_WAREHOUSE', database='DATABASE', schema='SCHEMA',
username='USERNAME')
pt1_df = sx.from_mysql(connection=mysql_conn, schema='SCHEMA', tables=['TABLE_NAME'])
pt2_df = sx.from_csv('/path/to/file.csv')
final_df = sx.merge(pt1_df, pt2_df, how='JOIN_TYPE', on='COLUMN_NAME')
final_df = sx.drop(columns=['COLUMN_ONE', 'COLUMN_TWO', 'COLUMN_THREE', 'COLUMN_FOUR'])
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
essx-0.0.0a0.tar.gz
(6.8 kB
view hashes)
Built Distribution
essx-0.0.0a0-py3-none-any.whl
(8.2 kB
view hashes)