【kettle】kettle预览Hive SQL语句报错

一、问题描述

在kettle转换中表输入时预览HQL语句时报以下错误:

2022/07/05 09:12:42 - Spoon - Spoon
2022/07/05 09:59:08 - Spoon - Spoon
2022/07/05 10:03:26 - F:\路径 : 作业 - 为了转换解除补丁开始  [F:\路径 : 作业]
2022/07/05 10:04:35 - 表输入-表名.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Unexpected error
2022/07/05 10:04:35 - 表输入-表名.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseException: 
2022/07/05 10:04:35 - 表输入-表名.0 - Couldn't get row from result set
2022/07/05 10:04:35 - 表输入-表名.0 - 
2022/07/05 10:04:35 - 表输入-表名.0 - Unable to get value 'String(2147483647)<binary-string>' from database resultset, index 0
2022/07/05 10:04:35 - 表输入-表名.0 - Method not supported
2022/07/05 10:04:35 - 表输入-表名.0 - 
2022/07/05 10:04:35 - 表输入-表名.0 - 
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.database.Database.getRow(Database.java:2764)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.database.Database.getRow(Database.java:2734)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.database.Database.getRow(Database.java:2712)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.trans.steps.tableinput.TableInput.doQuery(TableInput.java:259)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.trans.steps.tableinput.TableInput.processRow(TableInput.java:140)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at java.lang.Thread.run(Thread.java:748)
2022/07/05 10:04:35 - 表输入-表名.0 - Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
2022/07/05 10:04:35 - 表输入-表名.0 - Unable to get value 'String(2147483647)<binary-string>' from database resultset, index 0
2022/07/05 10:04:35 - 表输入-表名.0 - Method not supported
2022/07/05 10:04:35 - 表输入-表名.0 - 
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.getValueFromResultSet(ValueMetaBase.java:5310)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.database.BaseDatabaseMeta.getValueFromResultSet(BaseDatabaseMeta.java:2107)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.database.DatabaseMeta.getValueFromResultSet(DatabaseMeta.java:2982)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.database.Database.getRow(Database.java:2756)
2022/07/05 10:04:35 - 表输入-表名.0 - 	... 6 more
2022/07/05 10:04:35 - 表输入-表名.0 - Caused by: java.sql.SQLException: Method not supported
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.apache.hive.jdbc.HiveBaseResultSet.getBytes(HiveBaseResultSet.java:220)
2022/07/05 10:04:35 - 表输入-表名.0 - 	at org.pentaho.di.core.row.value.ValueMetaBase.getValueFromResultSet(ValueMetaBase.java:5272)
2022/07/05 10:04:35 - 表输入-表名.0 - 	... 9 more
2022/07/05 10:04:35 - 表输入-表名.0 - Finished reading query, closing connection.
2022/07/05 10:04:35 - 表输入-表名.0 - 完成处理 (I=0, O=0, R=0, W=0, U=0, E=1)

二、问题解决

取消勾选“允许简易转换”
在这里插入图片描述

三、问题分析

查阅网上资料时发现,“允许简易转换”可能对某些字段进行转换操作,从而导致各种问题。还有网友遇到中文乱码问题。遇到类似问题,可以优先考虑勾选掉“允许建议转换”选项尝试。


版权声明:本文为why_not_study原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。