我在AWS S3上有一个大的(5-10 GB)二进制文件,它需要自定义解析,可能在python中。它本质上是由数以百万计的数据组成的连续集合,它们都具有相同的结构。对于我来说,将这些数据放入一个独立/托管的Aurora实例的最佳方法是什么?到目前为止,我已经想到: 1.我可以写到一个CSV文件并使用副本,但是它的大小将是天文数字的2。我可以将它分批发送。3.使用AWS Glue,尽管我还在了解这一点。
发布于 2019-09-03 12:49:07
我可以写到CSV文件并使用副本,但大小将是天文数字。
您可以将CSV数据流写入管道而不是文件:
geneate_csv | psql -c '\copy tablename from stdin'或
\copy tablename from program 'generate_csv'发布于 2019-09-03 10:18:50
这不是我推荐的通用解决方案,但我编写了类似的东西,可以动态转换数据并使用有线格式(例如,COPY使用的相同格式)将数据写入。它是用Java编写的,并且使用了内部的PGWriter类,所以您需要找到一种方法在Python中完成同样的事情。
但是它的速度非常快,比批量插入要快得多。虽然我不确定重写插入是否会使正常的批处理插入足够快。
https://dba.stackexchange.com/questions/246816
复制相似问题