def extract_data(self,sqlctx,query,number_of_partitions,url):
try:
df = sqlctx.read.format('jdbc') \
.option("driver", "org.postgresql.Driver") \
.option("url", url) \
.option("dbtable", "("+query+")as table_data") \
.option("numPartitions",number_of_partitions) \
.load()
return df
except Exception as e:
print("EXCEPTION : "+str(e))
上面是我用python中的pyspark从postgreSQL中提取一些数据的方法(sqlctx
是SQLContext
的对象)。在第一次调用时,它将df
作为pyspark.sql.DataFrame
对象返回。但是对于以后的调用,它将df
作为NoneType
对象返回。任何人都可以解释为什么这很开心?代码中是否有错误?提前致谢 !