我对Python还不熟悉。。我的数据是红移的,我想用python更快地处理数据。我之所以使用python,是因为我想运行各种算法,并对这些数据进行各种计算,而这在红移中是不可能的。我看过教程,但每次加载python都要花太多时间。这是我的密码:
import psycopg2
con=psycopg2.connect(dbname = "xxxx", host="redshifttest-icp.cooqucvshoum.us-west-2.redshift.amazonaws.com", port= "5439", user="xxxx", password= "xxxx")
cur = con.cursor()
a = "select * from xxxx ;"
import pandas as pd
df = pd.read_sql(a,con)
df = df.fillna(0)
df2=df2.fillna(0)
这是非常好的工作,但我想要一些方法,可以帮助我更快地处理数据。。有人能帮我吗?
1条答案
按热度按时间ma8fv8wu1#
如果要从redshift中检索大量行(超过大约10000行),最快的方法是使用unload命令将它们作为csv直接提取到s3。然后可以检索提取并在python中操作它。
如果您正在处理一个更大的数字(数百万),那么我怀疑您将受到python速度的限制。在这种情况下,我建议使用spark/pyspark和spark redshift包。spark将在后台为您执行卸载,您的Dataframe计算可以通过spark跨服务器集群并行化。