【发布时间】:2017-06-22 23:49:31
【问题描述】:
我想将数据从一个巨大的 pandas DataFrame 插入到 Redshift。但是,当我尝试执行插入语句时,出现以下错误:
错误:语句太大。语句大小:152681090 字节。 最大允许:16777216 字节
为了克服这个问题,我想将数据帧拆分为允许大小内的块,并为每个块执行单独的插入语句。如何将数据帧划分为 16777216 字节限制内的行块?
如果不可能,有没有其他方法可以将如此大的数据帧中的数据插入到 Redshift 中?
谢谢!
【问题讨论】:
-
谢谢,我看到了。但我不知道我想要多少行。我只知道每个块最多应该有16777216字节。每行可能有不同的字节大小。
-
好的,您可以使用 to_sql 进行写入并在此处定义块大小,如下所示:data.to_sql('df', engine, chunksize=10000)
-
或者你可以遍历每一行并添加到你的红移
标签: python python-2.7 pandas amazon-redshift