diff --git a/az-reportal/src/main/java/azkaban/jobtype/ReportalPrestoRunner.java b/az-reportal/src/main/java/azkaban/jobtype/ReportalPrestoRunner.java
index 32579ce..8ec3912 100644
--- a/az-reportal/src/main/java/azkaban/jobtype/ReportalPrestoRunner.java
+++ b/az-reportal/src/main/java/azkaban/jobtype/ReportalPrestoRunner.java
@@ -91,7 +91,16 @@ public class ReportalPrestoRunner extends ReportalAbstractRunner {
this.proxyUser);
final Statement statement = conn.createStatement();
try {
- statement.execute(this.jobQuery);
+ String processedQuery = injectVariables(this.jobQuery);
+ processedQuery = processedQuery.trim();
+
+ // jdbc presto driver doesn't work with query with trailing semicolon,
+ // if user query has semicolon, remove it.
+ if (processedQuery.endsWith(";")) {
+ processedQuery = processedQuery.substring(0, processedQuery.length() - 1);
+ }
+
+ statement.execute(processedQuery);
ReportalUtil.outputQueryResult(statement.getResultSet(), this.outputStream);
} finally {
statement.close();