我在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')