A method for predicting performance of an application on a Spark platform in a production environment, wherein the method, comprises: executing the application with a Spark cluster on small data size of the application, wherein the application is executed as a serial execution of one or more Spark jobs and creates an application log, and wherein the small data size of the application refers to an application representative dataset available in a development environment for predicting the performance of the application; parsing the created application log to collect granular level performance data of the application using a Spark log parser module, wherein the collected granular level performance data of the application are extrapolated and used in predicting performance of the application and wherein granular level performance data comprise details of execution of the application on the Spark platform; estimating an average scheduler delay of each task in the one or more Spark jobs as function of one or more predefined parameters of the Spark platform and the data size of the application on the Spark platform using a scheduler delay estimation module, wherein the one or more predefined parameters of the Spark platform include a number of executors, a number of cores per executor, and executor memory size; estimating an average execution time of shuffle operation of each task in the one or more Spark jobs as function of one or more predefined parameters of the Spark platform and the data size of the application on the Spark platform using a shuffle time estimation module; estimating an average execution time of java virtual machine overheads of each task in the one or more Spark jobs as function of the one or more predefined parameters of the Spark platform and the data size of the application using a JVM execution time estimation module; simulating stage execution for each Spark job of the one or more Spark jobs for estimating an execution time of each stage of each job in the application execution on the Spark platform in the production environment, wherein each stage is executed as a set of concurrent executors with parallel tasks in each executor, wherein the execution at each stage depends on the number of executors, the number of cores per executors' parameters and the executor memory size; and predicting execution time of the application using the estimated average scheduler delay of each task, the estimated average execution time of shuffle operation of each task, the estimated average execution time of JVM overheads of each task, and the estimated execution time of each stage of each job in the application on the Spark platform in the production environment. executing the application with a Spark cluster on small data size of the application, wherein the application is executed as a serial execution of one or more Spark jobs and creates an application log, and wherein the small data size of the application refers to an application representative dataset available in a development environment for predicting the performance of the application; parsing the created application log to collect granular level performance data of the application using a Spark log parser module, wherein the collected granular level performance data of the application are extrapolated and used in predicting performance of the application and wherein granular level performance data comprise details of execution of the application on the Spark platform; estimating an average scheduler delay of each task in the one or more Spark jobs as function of one or more predefined parameters of the Spark platform and the data size of the application on the Spark platform using a scheduler delay estimation module, wherein the one or more predefined parameters of the Spark platform include a number of executors, a number of cores per executor, and executor memory size; estimating an average execution time of shuffle operation of each task in the one or more Spark jobs as function of one or more predefined parameters of the Spark platform and the data size of the application on the Spark platform using a shuffle time estimation module; estimating an average execution time of java virtual machine overheads of each task in the one or more Spark jobs as function of the one or more predefined parameters of the Spark platform and the data size of the application using a JVM execution time estimation module; simulating stage execution for each Spark job of the one or more Spark jobs for estimating an execution time of each stage of each job in the application execution on the Spark platform in the production environment, wherein each stage is executed as a set of concurrent executors with parallel tasks in each executor, wherein the execution at each stage depends on the number of executors, the number of cores per executors' parameters and the executor memory size; and predicting execution time of the application using the estimated average scheduler delay of each task, the estimated average execution time of shuffle operation of each task, the estimated average execution time of JVM overheads of each task, and the estimated execution time of each stage of each job in the application on the Spark platform in the production environment.