java - 如何使用 impala 或 hive jdbc 驱动程序执行 kudu 查询(使用 jdbcTemplate.update 方法)
问题描述
当我尝试在 hive jdbc 驱动程序的帮助下执行 kudu 查询时,我遇到了异常。
Java代码:
String createStmt = "CREATE TABLE IF NOT EXISTS cnxamd_core.a_9999_cnxa_hdfs_stats_V_2_forview(\n" +
"bytes bigint COMMENT 'File Size in Bytes' ,\n" +
"dat String COMMENT 'Date' ,\n" +
"tm String COMMENT 'Time' ,\n" +
"load_key String COMMENT 'LOAD_KEY AS DEFINED DURING WORKFLOW PROCESS' ,\n" +
"fn String COMMENT 'File Name' ,CDL_DATETIME String COMMENT 'CDL_DATETIME' ,\n" +
"CDL_SOURCE_FILE String COMMENT 'CDL_SOURCE_FILE' , \n" +
"PRIMARY KEY (bytes)) \n" +
"PARTITION BY HASH \n" +
"PARTITIONS 2 \n" +
"STORED AS KUDU";
System.out.println("createStmt.. " + createStmt);
hiveJdbcTemplate.update(createStmt);
错误:
java.sql.SQLException:[Cloudera]HiveJDBCDriver 错误处理查询/语句。错误代码:40000,SQL 状态:TStatus(statusCode:ERROR_STATUS, infoMessages:[*org.apache.hive.service.cli.HiveSQLException:Error while compile statement: FAILED: ParseException line 8:19 cannot identify input near ')''启用规范中的 PARTITION''BY':17:16,org.apache.hive.service.cli.operation.Operation:toSQLException:Operation.java:329,org.apache.hive.service.cli.operation.SQLOperation:prepare :SQLOperation.java:207, org.apache.hive.service.cli.operation.SQLOperation:runInternal:SQLOperation.java:290, org.apache.hive.service.cli.operation.Operation:run:Operation.java:260 , org.apache.hive.service.cli.session.HiveSessionImpl:executeStatementInternal:HiveSessionImpl.java:504, org.apache.hive.service.cli。