При работе с добавлением DF1 и DF2 в две разные таблицы я хочу убедиться, что DF1 не пишет, если DF2 не удастся или любой из средних шагов выходит из строя. Но это не работает при использовании функции "write_pandas" для записи Pandas df to table. < /P>
session.sql("commit").collect()
session.write_pandas(df,table1,db,schema,auto_create_table=True)
raise Exception("transaction Test")
session.write_pandas(df,table2,db,schema,auto_create_table=True)
session.sql("commit").collect()
< /code>
Это в основном должно быть в состоянии вставить таблицу 1 вставка после повышения исключения, но это не так. Мы видим элементы DataFrame, добавленные в таблицу 1. Прямые операторы SQL работают < /p>
session.sql("commit").collect()
session.sql("insert into DB.SC.T1('col1','col2') values (99,'ninenine')")
raise Exception("transaction Test")
session.sql("insert into DB.SC.T2('col1','col2') values (88,'eightyeight')")
session.sql("commit").collect()
< /code>
Так что здесь первая таблица не получает новых значений, когда она не удастся перед совершением.
Подробнее здесь: https://stackoverflow.com/questions/794 ... -snowflake
Как выполнить два session.write_pandas транзакционно на снежинках? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Session.remove() в спящем режиме не удаляет объект, но я не могу его «session.get()»
Anonymous » » в форуме JAVA - 0 Ответы
- 87 Просмотры
-
Последнее сообщение Anonymous
-