[jira] [Commented] (HIVE-22352) Hive JDBC Storage Handler, simple select query failed with NPE if executed using Fetch Task
[ https://issues.apache.org/jira/browse/HIVE-22352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17183003#comment-17183003 ] chenruotao commented on HIVE-22352: --- maybe you should try to set hive.sql.query.fieldNames=id,date and set hive.sql.query.fieldTypes=int,timestamp or update the ext table column name col1 to id and col2 to date > Hive JDBC Storage Handler, simple select query failed with NPE if executed > using Fetch Task > --- > > Key: HIVE-22352 > URL: https://issues.apache.org/jira/browse/HIVE-22352 > Project: Hive > Issue Type: Bug > Components: Hive >Affects Versions: 3.1.1 > Environment: Hive-3.1 >Reporter: Rajkumar Singh >Priority: Blocker > > Steps To Repro: > > {code:java} > // MySQL Table > CREATE TABLE `visitors` ( `id` bigint(20) unsigned NOT NULL, `date` timestamp > NOT NULL DEFAULT CURRENT_TIMESTAMP ) > // hive table > CREATE EXTERNAL TABLE `hive_visitors`( `col1` bigint COMMENT 'from > deserializer', `col2` timestamp COMMENT 'from deserializer') ROW FORMAT SERDE > 'org.apache.hive.storage.jdbc.JdbcSerDe' STORED BY > 'org.apache.hive.storage.jdbc.JdbcStorageHandler' WITH SERDEPROPERTIES ( > 'serialization.format'='1') TBLPROPERTIES ( 'bucketing_version'='2', > 'hive.sql.database.type'='MYSQL', 'hive.sql.dbcp.maxActive'='1', > 'hive.sql.dbcp.password'='hive', 'hive.sql.dbcp.username'='hive', > 'hive.sql.jdbc.driver'='com.mysql.jdbc.Driver', > 'hive.sql.jdbc.url'='jdbc:mysql://hostname/test', > 'hive.sql.table'='visitors', 'transient_lastDdlTime'='1554910389') > Query: > select * from hive_visitors ; > Exception: > 2019-10-16T04:04:39,483 WARN [HiveServer2-Handler-Pool: Thread-71]: > thrift.ThriftCLIService (:()) - Error fetching results: > org.apache.hive.service.cli.HiveSQLException: java.io.IOException: > java.lang.NullPointerException at > org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:478) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:328) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.session.HiveSessionImpl.fetchResults(HiveSessionImpl.java:952) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) ~[?:?] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.8.0_112] at java.lang.reflect.Method.invoke(Method.java:498) > ~[?:1.8.0_112] at > org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112] at > javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_112] at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730) > ~[hadoop-common-3.1.1.3.1.4.0-315.jar:?] at > org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > com.sun.proxy.$Proxy42.fetchResults(Unknown Source) ~[?:?] at > org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:565) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:792) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1837) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1822) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at >
[jira] [Commented] (HIVE-22352) Hive JDBC Storage Handler, simple select query failed with NPE if executed using Fetch Task
[ https://issues.apache.org/jira/browse/HIVE-22352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17025284#comment-17025284 ] Syed Shameerur Rahman commented on HIVE-22352: -- [~Rajkumar Singh] SQL table column name should match the hive table column names or have a mapping between them. Please refer [https://cwiki.apache.org/confluence/display/Hive/JdbcStorageHandler] > Hive JDBC Storage Handler, simple select query failed with NPE if executed > using Fetch Task > --- > > Key: HIVE-22352 > URL: https://issues.apache.org/jira/browse/HIVE-22352 > Project: Hive > Issue Type: Bug > Components: Hive >Affects Versions: 3.1.1 > Environment: Hive-3.1 >Reporter: Rajkumar Singh >Priority: Blocker > > Steps To Repro: > > {code:java} > // MySQL Table > CREATE TABLE `visitors` ( `id` bigint(20) unsigned NOT NULL, `date` timestamp > NOT NULL DEFAULT CURRENT_TIMESTAMP ) > // hive table > CREATE EXTERNAL TABLE `hive_visitors`( `col1` bigint COMMENT 'from > deserializer', `col2` timestamp COMMENT 'from deserializer') ROW FORMAT SERDE > 'org.apache.hive.storage.jdbc.JdbcSerDe' STORED BY > 'org.apache.hive.storage.jdbc.JdbcStorageHandler' WITH SERDEPROPERTIES ( > 'serialization.format'='1') TBLPROPERTIES ( 'bucketing_version'='2', > 'hive.sql.database.type'='MYSQL', 'hive.sql.dbcp.maxActive'='1', > 'hive.sql.dbcp.password'='hive', 'hive.sql.dbcp.username'='hive', > 'hive.sql.jdbc.driver'='com.mysql.jdbc.Driver', > 'hive.sql.jdbc.url'='jdbc:mysql://hostname/test', > 'hive.sql.table'='visitors', 'transient_lastDdlTime'='1554910389') > Query: > select * from hive_visitors ; > Exception: > 2019-10-16T04:04:39,483 WARN [HiveServer2-Handler-Pool: Thread-71]: > thrift.ThriftCLIService (:()) - Error fetching results: > org.apache.hive.service.cli.HiveSQLException: java.io.IOException: > java.lang.NullPointerException at > org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:478) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:328) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.session.HiveSessionImpl.fetchResults(HiveSessionImpl.java:952) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) ~[?:?] at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > ~[?:1.8.0_112] at java.lang.reflect.Method.invoke(Method.java:498) > ~[?:1.8.0_112] at > org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_112] at > javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_112] at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1730) > ~[hadoop-common-3.1.1.3.1.4.0-315.jar:?] at > org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > com.sun.proxy.$Proxy42.fetchResults(Unknown Source) ~[?:?] at > org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:565) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:792) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1837) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1822) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at > org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56) > ~[hive-service-3.1.0.3.1.4.0-315.jar:3.1.0.3.1.4.0-315] at > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) > ~[hive-exec-3.1.0.3.1.4.0-315.jar:3.1.1000-SNAPSHOT] at >