PySpark数据帧下推
我在SQLServer中有下表PySpark数据帧下推,pyspark,apache-spark-sql,pyspark-dataframes,Pyspark,Apache Spark Sql,Pyspark Dataframes,我在SQLServer中有下表 CREATE TABLE test ( id smallint, val, varchar(200) ); 我尝试在Python中使用SparkSQL的DataFrame API进行查询,如下所示: df = sql.read.format("jdbc") .option("url", url) .option("query", "S
CREATE TABLE test (
id smallint,
val, varchar(200)
);
我尝试在Python中使用SparkSQL的DataFrame API进行查询,如下所示:
df = sql.read.format("jdbc")
.option("url", url)
.option("query", "SELECT * FROM test")
.option("driver", driver)
.load()
df = df.filter(df['id'].isin([1,2,3]))
我希望能够使用isin()
将筛选器下推到数据库中的id
列,如下所示:
df = sql.read.format("jdbc")
.option("url", url)
.option("query", "SELECT * FROM test")
.option("driver", driver)
.load()
df = df.filter(df['id'].isin([1,2,3]))
但是,由于id列是数据库中的smallint
,因此谓词不会向下推。如果我尝试使用相同的语法来过滤val
列,谓词将被成功按下
有人知道是否可以将smallint
列的谓词从Python下推到数据库中吗