我使用此脚本从Postgres DB中获取数据。
POSTGRES_PORT = 'xxxx'
POSTGRES_USERNAME = 'xxx' ## CHANGE THIS TO YOUR PANOPLY/POSTGRES USERNAME
POSTGRES_PASSWORD = 'xxx' ## CHANGE THIS TO YOUR PANOPLY/POSTGRES PASSWORD POSTGRES_DBNAME = 'xxxx' ## CHANGE THIS TO YOUR DATABASE NAME
POSTGRES_DBNAME = 'xxx'
postgres_str = (f'postgresql://{POSTGRES_USERNAME}:{POSTGRES_PASSWORD}@{POSTGRES_ADDRESS}:{POSTGRES_PORT}/{POSTGRES_DBNAME}')
# Create the connection
cnx = create_engine(postgres_str)
当我使用限制时,我可以取回它。
table_name = pd.read_sql_query("""SELECT * FROM public.timeline limit 1000""", cnx)
table_name
当我尝试无限制提取时,出现此错误
“连接失败无法建立与笔记本服务器的连接。笔记本将继续尝试重新连接。请检查网络连接或笔记本服务器配置。"
在这种情况下,你会建议我使用pyspark吗?因为它看起来数据是大数据?
我使用计数,得到“66231781”行。
1条答案
按热度按时间hm2xizp91#
默认情况下,Postgresql的数据库驱动程序使用客户端游标,但您可以使用服务器端游标并将数据成批地流到客户端。下面的代码将按
chunksize
参数的设置,以1,000行为一批迭代查询结果。您可以调整chunksize
的值以满足您的需要。