У меня есть фрейм данных Pandas, который содержит несколько столбцов, которые являются списками.Я хотел бы вставить их в свою таблицу Snowflake как ARRAY
типы данных.
Традиционно я работал с PostgreSQL и просто вставил как df_to_insert.to_sql(TABLE_NAME, sqlalchemy_connection, **other_parameters)
.
Однако яБьюсь вставлять в Снежинку.Когда у меня есть столбец, который является списком, диалект sqlAlchemy Snowflake считает, что это строка:
Тип выражения не соответствует типу данных столбца, ожидая ARRAY, но получил VARCHAR (2) для столбца NAME_OF_COLUMN_WITH_LISTS
Я пытался дать подсказке движку sqlAlchemy, что столбец не является строкой, добавив в явном виде dtypes:
df_to_insert.to_sql("MY_SNOWFLAKE_TABLE_NAME",
snowflake_connection,
if_exists="append",
index=False,
dtype={'NAME_OF_COLUMN_WITH_LISTS': sqlalchemy.types.JSON})
Это только дает мне:
sqlalchemy.exc.StatementError: (builtins.AttributeError) У объекта 'SnowflakeDialect' нет атрибута '_json_serializer'
Каков наилучший способ вставки данных в таблицы Snowflake типов вариантов / массивов ивсе еще используете панд / sqlalchemy?Или еще нет хорошего способа сделать это?