通过过滤从Pypsark中的Postgresql读取数据

时间:2019-06-20 09:32:54

标签: postgresql filter pyspark

我在pyspark上写查询,我需要从postgresql读取数据,但是我不想从Postgre读取所有数据,我在pyspark dataframe中有Id列,所以我想仅从postgre读取ID为1,2的数据,3,4。所以要了解我填写了过滤器语句。我该如何过滤? 谢谢。

 df = spark.createDataFrame([(1, 'John',34),
                        (2, 'Steve',25)
                        (3, 'Alex',40)
                        (4, 'Mat',32)]
                       ,['Id', 'Name', 'Age'])

 url = 'postgresql://111.11.11.111:5432/database'
 properties = {'user': 'user', 'password': 'password','driver': 
 'org.postgresql.Driver'}
 shopping = DataFrameReader(sqlContext).jdbc(
 url='jdbc:%s' % url, table='ads.shopping', properties=properties).\
 filter("id in (select id from df)").select('id','name','price')

0 个答案:

没有答案
相关问题