起きたエラー
Snowflake Snowpark をローカルのpythonコードで使用して、テーブルを作成しようとしていたら、下記エラーが発生しました。
Session.create_dateframe() won't accept my pandas dataframe
"TypeError: create_dataframe() function only accepts data as a list, tuple or a pandas DataFrame."
エラーの起きた部分は、pandas Dataframe からSnowflake Dataframe を作成しようとしている部分でした。
調べたこと
エラー文を検索にかけ、Snowflake Community の投稿を見つけました。
URL : https://community.snowflake.com/s/question/0D53r0000BnYlDHCQ0/sessioncreatedateframe-wont-accept-my-pandas-dataframetypeerror-createdataframe-function-only-accepts-data-as-a-list-tuple-or-a-pandas-dataframe
Snowflake 周りのライブラリに問題がある というような記述で、解決策はよくわからなかったのですが、最後の投稿に有力情報がありました。
poetry add "snowflake-snowpark-python[pandas]"
poetry add "snowflake-connector-python[pandas]"
これでpandas 関連ライブラリを明示的に追加して解決した、という内容でした。
やったこと
実行環境で以下を実行しました。
pip install "snowflake-snowpark-python[pandas]"
pip install "snowflake-connector-python[pandas]"
実行時、いくつかのライブラリが追加でインストールされていました。
その後、実行したかったコードを再実行したところ、エラーが解消されました。