python - 使用 Python 将表加载到 AWS RDS Postgres 需要很长时间
问题描述
我正在从 url 读取数据并加载到 AWS RDS Postgres。我正在使用免费套餐。数据有大约 150 万条记录,当我将其加载到本地 postgres 时,只需不到 10 分钟,但在加载到 AWS Postgres 时,只需一个查询就需要永远(超过 15 小时)。如何提高性能或加快代码速度,以下是我正在使用的,请建议我一些好方法:
import pandas as pd
from sqlalchemy import create_engine
import zipfile
import os
from urllib.request import urlopen
import urllib.request
import io
from io import BytesIO, StringIO
pg_engine=create_engine('postgresql://user:password@host.amazonaws.com:5432/database')
zf1 = zipfile.ZipFile(BytesIO(urllib.request.urlopen('http://wireless.fcc.gov/uls/data/complete/l_market.zip').read()))
df6_mk = pd.read_csv(zf1.open('MC.dat'),header=None,delimiter='|', index_col=0, names=['record_type', 'unique_system_identifier', 'uls_file_number','ebf_number','call_sign',
'undefined_partitioned_area_id','partition_sequence_number','partition_lat_degrees','partition_lat_minutes',
'partition_lat_seconds','partition_lat_direction','partition_long_degrees','partition_long_minutes','partition_long_seconds',
'partition_long_direction','undefined_partitioned_area'])
df6_mk.to_sql('mc_mk',pg_engine,if_exists='replace')
解决方案
我相信免费层 RDS 选项仅限于 5/秒的 R/W 容量,这会限制你。
推荐阅读
- javascript - 除非我更改最大宽度,否则 css 图像最大高度无效
- php - Errno=9 php 中的错误文件描述符
- python - 如何检测我运行脚本的文件夹路径?
- ubuntu - OpenSSL v1.1.1 Ubuntu 20 TLSv1 - 没有可用的协议
- mongodb - 如何使用 Compass 通过 SSH 隧道访问远程 Mongo 实例?
- python - 按钮在点击时重定向,但我希望它也传递一个值
- flutter - 带有 IconButton 的 CircleAvatar 未居中
- azure - 当多个组织使用机器人时,是否有更有效的方法可以在 Azure 函数中使用 Microsoft 图形对团队机器人进行身份验证?
- python - 如何自动删除 m。从 URL 中提取一部分,同时保持当前链接的其余部分完整
- html - 仅当子元素存在时,XPath 才选择父元素