Session¶
modin.pandas.session
is the Snowpark session that new
Snowpark pandas DataFrames and Series will use to execute queries.
session
starts asNone
.When there is no active Snowpark session and
session
isNone
, accessingsession
or creating a Snowpark pandas Dataframe or Series will raise an exception. You will need to create a Snowpark session to acccesssession
or create a DataFrame or Series.When there a single active Snowpark session and
session
isNone
, Snowpark pandas automatically assigns that session tosession
.When there are multiple active Snowpark sessions and
session
isNone
, accessingsession
or 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])