Hi, I am trying to run a simple query in my JDBC-Client java code: ============================================================= // create mon_tbl - Monthly aggregated data String mon_tblName = "month_tbl"; sql = "DROP TABLE IF EXISTS " + mon_tblName; res = stmt.executeQuery(sql); res = stmt.executeQuery("CREATE TABLE " + mon_tblName + " (ServerIP STRING, Month INT, BytesSent BIGINT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','");
sql = "INSERT OVERWRITE " + mon_tblName + " SELECT ServerIP, month(StartTime), SUM(BytesSent) from " + totallogs_tbl + " GROUP BY ServerIP, month(StartTime)"; res = stmt.executeQuery(sql); ============================================================= *ERROR Message:* Exception in thread "main" java.sql.SQLException: Query returned non-zero code: 11, cause: FAILED: Parse Error: line 1:17 cannot recognize input near 'month_tbl' 'SELECT' 'ServerIP' in destination specification at org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:189) at jtv_jdbc_client.main(jtv_jdbc_client.java:72) root@ip-10-12-97-109:/home/users/jtv/hive_jdbc# ===================================================================== I checked the field-names, made sure there are commas between the attributes. spell-check etc. Can we have built-in aggregate funcitons (like SUM) and date functions (like month(StartTime)).? To use them, should I do anything special? I do not understand the error statement. Please advise. Thanks, PD.