通过datastage插入表KUDU
Posted
技术标签:
【中文标题】通过datastage插入表KUDU【英文标题】:Insert into table KUDU by datastage 【发布时间】:2019-02-28 16:32:28 【问题描述】:我写信是为了询问我的过程中的一个问题:
我有一个 Kudu 表,当我尝试使用 Impala JDBC 驱动程序通过 datastage(11.5 或 11.7)插入大小大于 500 个字符的新行时,我收到此错误:
致命错误:连接器未能执行语句:INSERT INTO default.tmp_consulta_teste (idconsulta, idcliente, idinstituicao, idunidadeinst, datahoraconsulta, desccpfcnpj, idcentral, idcontrato, idusuario, valorconsulta, descretornoxml, idintegracaosistema, nomeservidor) VALUES (? ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)。报告的错误是: [SQLSTATE HY000] java.sql.SQLException: [Cloudera]ImpalaJDBCDriver 获取参数数据类型时出错:HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE。
******************如何解决?我需要加载该信息。 **********
【问题讨论】:
你看community.cloudera.com/t5/Interactive-Short-cycle-SQL/…了吗? 【参考方案1】:我遇到了类似的问题,我收到的错误是:
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 表。
我做了 jdbcTemplate.batchUpdate 而不是 jdbcTemplate.query,以便使用 PreparedStatement,SetObject in PreparedStatement。
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);
);
【讨论】:
以上是关于通过datastage插入表KUDU的主要内容,如果未能解决你的问题,请参考以下文章
DataStage中mergelookupjoin的区别与联系