[jira] [Commented] (HIVE-8642) Hive stack() UDTF Doesn't Support NULL Insert Values
[ https://issues.apache.org/jira/browse/HIVE-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14219845#comment-14219845 ] Ashutosh Chauhan commented on HIVE-8642: +1 Hive stack() UDTF Doesn't Support NULL Insert Values Key: HIVE-8642 URL: https://issues.apache.org/jira/browse/HIVE-8642 Project: Hive Issue Type: Improvement Components: SQL, UDF Affects Versions: 0.13.0 Reporter: Nishant Kelkar Priority: Minor Attachments: HIVE-8642.1.patch.txt The following tables exist: 1. test_table -- schema {field_a:STRING, field_b:STRING, field_c:STRING} 2. dual -- schema {field_1:INT} test_table contents: {code} endbpedia http://dbpedia.org/schools/CMU {code} dual contents: {code} 1 {code} I tried the following query, and it fails: {code} INSERT INTO TABLE test_table SELECT stack(1, en, dbpedia, NULL ) AS ( field_a, field_b, field_c ) FROM dual; {code} The error returned: FAILED: NullPointerException null -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-8642) Hive stack() UDTF Doesn't Support NULL Insert Values
[ https://issues.apache.org/jira/browse/HIVE-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14190009#comment-14190009 ] Hive QA commented on HIVE-8642: --- {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12678097/HIVE-8642.1.patch.txt {color:red}ERROR:{color} -1 due to 7 failed/errored test(s), 6591 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_vector_elt org.apache.hadoop.hive.ql.parse.TestParse.testParse_input7 org.apache.hadoop.hive.ql.parse.TestParse.testParse_input9 org.apache.hadoop.hive.ql.parse.TestParse.testParse_udf_case org.apache.hadoop.hive.ql.parse.TestParse.testParse_udf_when org.apache.hive.hcatalog.streaming.TestStreaming.testRemainingTransactions org.apache.hive.minikdc.TestJdbcWithMiniKdc.testNegativeTokenAuth {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/1553/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/1553/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-1553/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 7 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12678097 - PreCommit-HIVE-TRUNK-Build Hive stack() UDTF Doesn't Support NULL Insert Values Key: HIVE-8642 URL: https://issues.apache.org/jira/browse/HIVE-8642 Project: Hive Issue Type: Improvement Components: SQL, UDF Affects Versions: 0.13.0 Reporter: Nishant Kelkar Priority: Minor Attachments: HIVE-8642.1.patch.txt The following tables exist: 1. test_table -- schema {field_a:STRING, field_b:STRING, field_c:STRING} 2. dual -- schema {field_1:INT} test_table contents: {code} endbpedia http://dbpedia.org/schools/CMU {code} dual contents: {code} 1 {code} I tried the following query, and it fails: {code} INSERT INTO TABLE test_table SELECT stack(1, en, dbpedia, NULL ) AS ( field_a, field_b, field_c ) FROM dual; {code} The error returned: FAILED: NullPointerException null -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-8642) Hive stack() UDTF Doesn't Support NULL Insert Values
[ https://issues.apache.org/jira/browse/HIVE-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14188151#comment-14188151 ] Nishant Kelkar commented on HIVE-8642: -- Stack trace for the exception: {code} 2014-10-29 01:23:36,757 INFO parse.SemanticAnalyzer (SemanticAnalyzer.java:analyzeInternal(8185)) - Starting Semantic Analysis 2014-10-29 01:23:36,757 INFO parse.SemanticAnalyzer (SemanticAnalyzer.java:analyzeInternal(8215)) - Completed phase 1 of Semantic Analysis 2014-10-29 01:23:36,757 INFO parse.SemanticAnalyzer (SemanticAnalyzer.java:getMetaData(951)) - Get metadata for source tables 2014-10-29 01:23:36,771 INFO parse.SemanticAnalyzer (SemanticAnalyzer.java:getMetaData(1036)) - Get metadata for subqueries 2014-10-29 01:23:36,771 INFO parse.SemanticAnalyzer (SemanticAnalyzer.java:getMetaData(1056)) - Get metadata for destination tables 2014-10-29 01:23:36,784 INFO parse.SemanticAnalyzer (SemanticAnalyzer.java:analyzeInternal(8218)) - Completed getting MetaData in Semantic Analysis 2014-10-29 01:23:36,787 ERROR ql.Driver (SessionState.java:printError(427)) - FAILED: NullPointerException null java.lang.NullPointerException at org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.supportsConstantObjectInspector(ObjectInspectorUtils.java:943) at org.apache.hadoop.hive.ql.udf.generic.GenericUDF.initializeAndFoldConstants(GenericUDF.java:115) at org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc.newInstance(ExprNodeGenericFuncDesc.java:215) at org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory$DefaultExprProcessor.getXpathOrFuncExprNodeDesc(TypeCheckProcFactory.java:781) at org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory$DefaultExprProcessor.process(TypeCheckProcFactory.java:908) at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:89) at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:87) at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:124) at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:101) at org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory.genExprNode(TypeCheckProcFactory.java:166) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genExprNodeDesc(SemanticAnalyzer.java:8459) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:2485) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genSelectPlan(SemanticAnalyzer.java:2284) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPostGroupByBodyPlan(SemanticAnalyzer.java:6843) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:6814) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:7547) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:8224) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:258) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:459) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:349) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:938) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:902) at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:412) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:759) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:613) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:208) {code} Hive stack() UDTF Doesn't Support NULL Insert Values Key: HIVE-8642 URL: https://issues.apache.org/jira/browse/HIVE-8642 Project: Hive Issue Type: Improvement Components: SQL, UDF Affects Versions: 0.13.0 Reporter: Nishant Kelkar Priority: Minor The following tables exist: 1. test_table -- schema {field_a:STRING, field_b:STRING, field_c:STRING} 2. dual -- schema {field_1:INT} test_table contents: {code} endbpedia http://dbpedia.org/schools/CMU {code} dual contents: {code} 1 {code} I tried the following query, and it fails: {code} INSERT INTO TABLE
[jira] [Commented] (HIVE-8642) Hive stack() UDTF Doesn't Support NULL Insert Values
[ https://issues.apache.org/jira/browse/HIVE-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14188164#comment-14188164 ] Navis commented on HIVE-8642: - walk around : use cast(NULL as string) instead of NULL Hive stack() UDTF Doesn't Support NULL Insert Values Key: HIVE-8642 URL: https://issues.apache.org/jira/browse/HIVE-8642 Project: Hive Issue Type: Improvement Components: SQL, UDF Affects Versions: 0.13.0 Reporter: Nishant Kelkar Priority: Minor The following tables exist: 1. test_table -- schema {field_a:STRING, field_b:STRING, field_c:STRING} 2. dual -- schema {field_1:INT} test_table contents: {code} endbpedia http://dbpedia.org/schools/CMU {code} dual contents: {code} 1 {code} I tried the following query, and it fails: {code} INSERT INTO TABLE test_table SELECT stack(1, en, dbpedia, NULL ) AS ( field_a, field_b, field_c ) FROM dual; {code} The error returned: FAILED: NullPointerException null -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-8642) Hive stack() UDTF Doesn't Support NULL Insert Values
[ https://issues.apache.org/jira/browse/HIVE-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14188209#comment-14188209 ] Nishant Kelkar commented on HIVE-8642: -- Thanks [~navis]! This solves my problem. However, I feel that queries of the form INSERT INTO TABLE table_a SELECT UDTF(args) AS (arg_names) FROM table_b should have support for null field insertions. This is because the output of the UDTF is tightly coupled with the schema of table_a. Right now, debugging through the code showed that null arguments to a UDTF generate VoidObjectInspector as input to the initialize() method (which they shouldn't, since the schema of table_a should be sufficient information to get correct ObjectInspectors). Please correct me if I'm wrong (I've only started digging into Hive source code). Thoughts? Hive stack() UDTF Doesn't Support NULL Insert Values Key: HIVE-8642 URL: https://issues.apache.org/jira/browse/HIVE-8642 Project: Hive Issue Type: Improvement Components: SQL, UDF Affects Versions: 0.13.0 Reporter: Nishant Kelkar Priority: Minor The following tables exist: 1. test_table -- schema {field_a:STRING, field_b:STRING, field_c:STRING} 2. dual -- schema {field_1:INT} test_table contents: {code} endbpedia http://dbpedia.org/schools/CMU {code} dual contents: {code} 1 {code} I tried the following query, and it fails: {code} INSERT INTO TABLE test_table SELECT stack(1, en, dbpedia, NULL ) AS ( field_a, field_b, field_c ) FROM dual; {code} The error returned: FAILED: NullPointerException null -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-8642) Hive stack() UDTF Doesn't Support NULL Insert Values
[ https://issues.apache.org/jira/browse/HIVE-8642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14189480#comment-14189480 ] Navis commented on HIVE-8642: - [~nkelkar] I think it's possible to implement type inference from target table/partition. SemanticAnalyzer#genConversionOps expected to do that but it's not implemented. Seemed good to have in hive. Hive stack() UDTF Doesn't Support NULL Insert Values Key: HIVE-8642 URL: https://issues.apache.org/jira/browse/HIVE-8642 Project: Hive Issue Type: Improvement Components: SQL, UDF Affects Versions: 0.13.0 Reporter: Nishant Kelkar Priority: Minor The following tables exist: 1. test_table -- schema {field_a:STRING, field_b:STRING, field_c:STRING} 2. dual -- schema {field_1:INT} test_table contents: {code} endbpedia http://dbpedia.org/schools/CMU {code} dual contents: {code} 1 {code} I tried the following query, and it fails: {code} INSERT INTO TABLE test_table SELECT stack(1, en, dbpedia, NULL ) AS ( field_a, field_b, field_c ) FROM dual; {code} The error returned: FAILED: NullPointerException null -- This message was sent by Atlassian JIRA (v6.3.4#6332)