问题描述
我在sqlServer中有下表
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()
我希望能够使用id
将过滤器下推到数据库中的isin()
列,如下所示:
df = df.filter(df['id'].isin([1,2,3]))
但是,由于id列在数据库中是smallint
,因此谓词不会被下推。如果我尝试使用相同的语法来过滤val
列,则谓词将成功下推。
有人知道是否有可能将smallint
列的谓词从Python下推到数据库吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)