У меня есть много запросов вида "select ... from ... order by". В какой-то момент я заметила, что иногда джобы стартуют, а иногда нет, но считается все нормально. Но разобраться-то все равно интересно) ☕️ Я смотрю план запроса у таблиц. Initial Plan у них одинаковый - чтение, селект, сортировка: == Initial Plan == Sort +- Exchange +- Project +- BatchScan catalog.schema.table ☕️ Смотрю финальный план 1 таблица (запускает джобу): == Final Plan == AQEShuffleRead +- ShuffleQueryStage, Statistics(sizeInBytes=368.0 B, rowCount=1) +- Exchange +- * Project +- BatchScan catalog.schema.table1 Длительность - 4с 2 таблица (не запускает джобу): == Final Plan == LocalTableScan Длительность - 10мс И причем тут LocalTableScan? ☕️ Прикол в том, что во второй табличке 0 строк. И включена адаптивка (spark.sql.adaptive.enabled = true). Адаптивка в спарке понимает, что бессмысленно шафлить 0 строк данных, и возвращает результат за несколько мс @data_engineerette