Session¶
modin.pandas.session is the Snowpark session that new
Snowpark pandas DataFrames and Series will use to execute queries.
sessionstarts asNone.When there is no active Snowpark session and
sessionisNone, accessingsessionor creating a Snowpark pandas Dataframe or Series will raise an exception. You will need to create a Snowpark session to acccesssessionor create a DataFrame or Series.When there a single active Snowpark session and
sessionisNone, Snowpark pandas automatically assigns that session tosession.When there are multiple active Snowpark sessions and
sessionisNone, accessingsessionor creating a Snowpark pandas Dataframe or Series will raise an exception. To make Snowpark pandas populatemodin.pandas.session, you can close one of the sessions, or assign a particular session tosession. For example, if you executemodin.pandas.session = session1, Snowpark pandas will usesession1.
Examples¶
Creating and using the default Snowpark session¶
If you have set a default Snowflake connection, you can use use that connection to create a Snowpark session for Snowpark pandas:
import modin.pandas as pd
import snowflake.snowpark.modin.plugin
from snowflake.snowpark import Session
# Session.builder.create() will create a default Snowflake connection.
Session.builder.create()
df = pd.DataFrame([1, 2, 3])
Note that Snowpark pandas uses the unique active Snowpark session, even though the code does not explicitly assign that session to Snowpark pandas.
Assigning one of multiple sessions to Snowpark pandas¶
You can create multiple Snowpark sessions, then assign one of them to Snowpark pandas.
import modin.pandas as pd
import snowflake.snowpark.modin.plugin
from snowflake.snowpark import Session
pandas_session = Session.builder.configs({"user": "<user>", "password": "<password>", "account": "<account1>").create()
other_session = Session.builder.configs({"user": "<user>", "password": "<password>", "account": "<account2>").create()
pd.session = pandas_session
df = pd.DataFrame([1, 2, 3])
Trying to use Snowpark pandas when there is no active Snowpark session¶
The code below will cause a SnowparkSessionException
with a message like Snowpark pandas requires an active snowpark session, but there is none.
Once you create a session, you can use Snowpark pandas.
import modin.pandas as pd
import snowflake.snowpark.modin.plugin
df = pd.DataFrame([1, 2, 3])
Trying to use Snowpark pandas when there are multiple active Snowpark sessions¶
The code below will cause a SnowparkSessionException
with a message like There are multiple active snowpark sessions, but you need
to choose one for Snowpark pandas.
import modin.pandas as pd
import snowflake.snowpark.modin.plugin
from snowflake.snowpark import Session
pandas_session = Session.builder.configs({"user": "<user>", "password": "<password>", "account": "<account1>"}).create()
other_session = Session.builder.configs({"user": "<user>", "password": "<password>", "account": "<account2>"}).create()
df = pd.DataFrame([1, 2, 3])