Я запрашиваю таблицу mysql со столбцом первичного ключа, используя spark. Мне не нужно читать всю таблицу, но по определенному значению первичного ключа, скажем primary_key> 5001. Но когда я использую partitionBy с верхним и нижним ограничением, один из разделов считывает данные для primary_key <5001. Я знаю, что это согласно проекту, чтобы прочитать все данные из таблицы. Но что если я захочу прочитать только ряд первичных ключей, а также разделить их, так как данные огромны. </p>
Я пробовал подобный подзапрос:
.option("dbtable", "(select * from %s where %s>%s)tmp"%
(tablename,pk,lowerbound)) \
.option("partitionColumn", pk) \
.option("lowerbound", lowerbound) \
.option("upperbound", upperbound) \
.option("numPartitions", numPartitions) \
.load()
Но это запустит несколько запросов с подзапросом для каждого раздела. Это означает, что подзапрос будет выполнен столько раз, сколько numPartions.
Возможно ли применить эти шаги искровых разделов к подзапросу или для диапазона значений в таблице mysql.