public Object execute()

in src/main/java/com/uber/uberscriptquery/execution/WriteParquetFileActionStatementExecutor.java [17:33]


    public Object execute(SparkSession sparkSession, ActionStatement actionStatement, CredentialProvider credentialManager) {

        String filePath = actionStatement.getParamValues().get(0).getValue().toString();
        String saveModeStr = actionStatement.getParamValues().get(1).getValue().toString();
        String dfTableName = actionStatement.getParamValues().get(2).getValue().toString();

        SaveMode saveMode = SaveMode.valueOf(saveModeStr);

        String sql = String.format("select * from %s", dfTableName);
        logger.info(String.format("Running sql [%s] to get data and then save it", sql));
        Dataset<Row> df = sparkSession.sql(sql);

        logger.info(String.format("Saving to parquet %s, saveMode: %s", filePath, saveMode));
        df.coalesce(1).write().mode(saveMode).parquet(filePath);
        logger.info(String.format("Saved to parquet %s, saveMode: %s", filePath, saveMode));
        return null;
    }