Apache spark Spark从PostgreSQL表中读取单列 问题:

Apache spark Spark从PostgreSQL表中读取单列 问题:,apache-spark,pyspark,apache-spark-sql,pyspark-sql,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Sql,有没有办法从(PostreSQL)数据库表中加载特定列作为Spark数据帧 下面是我试过的 预期行为: 下面的代码应该只会导致指定的列存储在内存中,而不是整个表(表对于我的集群来说太大) 实际行为: 发生内存不足异常。我想这是因为Spark试图加载整个表,然后选择一列,而不是只加载选定的列?或者它实际上只是加载了这个列,但是这个列太大了;我将列限制为仅10个值,所以不应该是这样 2018-09-04 19:42:11 ERROR Utils:91 - uncaught error in thre

有没有办法从(PostreSQL)数据库表中加载特定列作为Spark数据帧

下面是我试过的

预期行为: 下面的代码应该只会导致指定的列存储在内存中,而不是整个表(表对于我的集群来说太大)

实际行为: 发生内存不足异常。我想这是因为Spark试图加载整个表,然后选择一列,而不是只加载选定的列?或者它实际上只是加载了这个列,但是这个列太大了;我将列限制为仅10个值,所以不应该是这样

2018-09-04 19:42:11 ERROR Utils:91 - uncaught error in thread spark-listener-group-appStatus, stopping SparkContext
java.lang.OutOfMemoryError: GC overhead limit exceeded

只有一列的SQL查询可以在jdbc中使用,不能使用“table”参数,请在这里查找详细信息:


我用一个查询字符串替换了表参数:“从%s%”(标题,表)中选择%s”。但是,我从postgresql驱动程序中得到一个SELECT关键字错误。我注意到我可以将read重写为spark.read.format('jdbc')并通过dbtable选项传入查询字符串,但是有没有办法使用spark.read.jdbc函数实现这一点?括号在此类查询中很重要,请看:谢谢!查询字符串“(从%s中选择%s)%s%”(头、表、头)起作用。
2018-09-04 19:42:11 ERROR Utils:91 - uncaught error in thread spark-listener-group-appStatus, stopping SparkContext
java.lang.OutOfMemoryError: GC overhead limit exceeded