通过datastage插入表KUDU中

时间:2019-02-28 16:32:29

标签: impala datastage apache-kudu

我正在写信以询问过程中的问题:

我有一个Kudu表,当我尝试通过数据阶段(11.5或11.7)插入一个新行时,使用Impala JDBC驱动程序,该行的大小大于500个字符,我收到此错误:

  

致命错误:连接器无法执行以下语句:INSERT INTO default.tmp_consulta_teste(idconsulta,idcliente,idinstituicao,idunidadeinst,datahoraconsulta,desccpfcnpj,idcentral,idcontrato,idusuario,valorconsulta,destegratormestica,VALUE,descretormeserxml) ,?,?,?,?,?,?,?,?,?,?,?,?)。报告的错误是:   [SQLSTATE HY000] java.sql.SQLException:[Cloudera] ImpalaJDBCDriver获取参数数据类型错误:HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE。

**************我该如何解决?我需要加载该信息。 **********

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,我收到的错误是:

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw 
exception [Request processing failed; nested exception is  
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; 
uncategorized SQLException for SQL [update service set comments =? where service_name 
="Zzzzz";]; SQL state [HY000]; error code [500352]; [Simba] 
[ImpalaJDBCDriver](500352) Error getting the parameter data type: 
HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE; nested exception is 
java.sql.SQLException: [Simba][ImpalaJDBCDriver](500352) Error getting the parameter 
data type: HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE] with root cause

我在以下链接中提到了最后一个答案: https://community.cloudera.com/t5/Support-Questions/HIVE-PARAMETER-QUERY-DATA-TYPE-ERR-NON-SUPPORT-DATA-TYPE/td-p/48849

我做了以下事情:

1。确保该表是Kudu表。

  1. 我使用 jdbcTemplate.batchUpdate 代替了jdbcTemplate.query,以便使用 PreparedStatement,做了 PreparedStatement中的SetObject

    jdbcTemplate.batchUpdate(UpdateComment, new BatchPreparedStatementSetter(){
    
        @Override
        public int getBatchSize() {
    
            return 1;
        }
    
        @Override
        public void setValues(PreparedStatement ps, int i) throws SQLException {
            ps.setObject(1, comments);
    
        }
    
    });