Когда я использую Spark DataFrame для выполнения Action. После кэширования DataFrame , время, необходимое для выполнения действия, а во второй раз действие практически одинаково. Мои коды ниже
logger.info("start to consuming result count")
logger.info(s"consuming ${result.count} output records")
logger.info("starting go to MysqlSink")
logger.info(s"consuming ${result.count} output records")
logger.info("starting go to MysqlSink")
А консольный журнал ниже
18/09/08 14:15:17 INFO MySQLRiskScenarioRunner: start to consuming result count
18/09/08 14:15:49 INFO MySQLRiskScenarioRunner: consuming 5 output records
18/09/08 14:15:49 INFO MySQLRiskScenarioRunner: starting go to MysqlSink
18/09/08 14:16:22 INFO MySQLRiskScenarioRunner: consuming 5 output records
18/09/08 14:16:22 INFO MySQLRiskScenarioRunner: starting go to MysqlSink
Итак, первый раз - 32 секунды, а второй - 33 секунды. Кадр данных должен быть пересчитан с использованием DAG cache Кэш недействителен или не активен. Кто-нибудь может решить мои сомнения?
Большое спасибо.