#pyspark #apache-spark-sql #pyspark-dataframes
#apache-spark-sql #pyspark
Вопрос:
У меня есть следующая таблица в SQLServer
CREATE TABLE test (
id smallint,
val, varchar(200)
);
Я пытаюсь запросить его, используя API фрейма данных SparkSQL на Python, вот так:
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
столбца, предикат будет успешно удален.
Кто-нибудь знает, возможно ли отправить предикат из Python в базу данных для smallint
столбца?