gpt4 book ai didi

python - 需要使用 pyodbc 将较小的批处理插入到 Teradata 表中

转载 作者:行者123 更新时间:2023-12-05 07:21:05 26 4
gpt4 key购买 nike

我正在尝试通过 pyodbc 将来自 pandas 数据帧的数据小批量插入到 Teradata 表中。

我能够成功插入一小部分数据样本,但是当我尝试插入整个数据帧(大约 125k 行)时,我收到此错误消息:[Teradata][ODBC Teradata Driver] SQL 请求超出允许的最大值1 MB 的长度。

经过一些研究后,我的插入语句似乎太大了,所以我想将其分成更小的批处理。我研究了 cursor.executemany 及其必需参数,但我可以在任何地方找到定义批量大小的地方。

import pyodbc
import pandas as pd

# Delete All Records pertaining to Max Report Month
cursor = connection.cursor()
sql_del = "DELETE FROM database.table WHERE RPT_MTH = '" + max_mth + "';"
cursor.execute(sql_del)
connection.commit()

# Insert All Predictions
data = df_prod.values.tolist()
cursor.fast_executemany = True
cursor.executemany('INSERT INTO database.table VALUES (?,?,?,?)', data)
connection.commit()

# Close Connections
cursor.close()
connection.close()

最佳答案

@贾斯汀如果您有插入/天的限制,您可以尝试使用 Teradata 推荐的实用程序,例如直接从文件中的 TPT、MLOAD,而不是使用 Py。

关于python - 需要使用 pyodbc 将较小的批处理插入到 Teradata 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57100813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com