You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Liang-Chi Hsieh (JIRA)" <ji...@apache.org> on 2018/12/25 14:01:00 UTC

[jira] [Commented] (HIVE-20241) Support partitioning spec in CTAS statements

    [ https://issues.apache.org/jira/browse/HIVE-20241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16728721#comment-16728721 ] 

Liang-Chi Hsieh commented on HIVE-20241:
----------------------------------------

I've tried this feature by checking out latest branch-3, and encountered NPE:
{code:java}
hive> CREATE TABLE t PARTITIONED BY (part) AS SELECT 1 as id, "a" as part;
FAILED: NullPointerException null
{code}

I also ran the query test partition_ctas.q. The test passes when using TestMiniLlapLocalCliDriver, but when I go to test it with TestCliDriver manually, it also throws NullPointerException:
{code}
2018-12-25T05:58:22,221 ERROR [a96009a7-3dda-4d95-9536-e2e16d976856 main] ql.Driver: FAILED: NullPointerException null
java.lang.NullPointerException
    at org.apache.hadoop.hive.ql.optimizer.GenMapRedUtils.usePartitionColumns(GenMapRedUtils.java:2103)
    at org.apache.hadoop.hive.ql.optimizer.GenMapRedUtils.createMRWorkForMergingFiles(GenMapRedUtils.java:1323)
    at org.apache.hadoop.hive.ql.optimizer.GenMRFileSink1.process(GenMRFileSink1.java:113)
    at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
    at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:105)
    at org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:54)
    at org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
    at org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
    at org.apache.hadoop.hive.ql.parse.GenMapRedWalker.walk(GenMapRedWalker.java:65)
    at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:120)
    at org.apache.hadoop.hive.ql.parse.MapReduceCompiler.generateTaskTree(MapReduceCompiler.java:323)
    at org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:244)
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:12503)
    at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:357)
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:285)
    at org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:166)
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:285)
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:664)
    at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1854)
    at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1801)
    at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1796)
    at org.apache.hadoop.hive.ql.reexec.ReExecDriver.compileAndRespond(ReExecDriver.java:126)
    at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:214)
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:239)
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:188)
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:402)
{code}

So I'm wondering if I miss something about this feature. Is it only workable with llap?




> Support partitioning spec in CTAS statements
> --------------------------------------------
>
>                 Key: HIVE-20241
>                 URL: https://issues.apache.org/jira/browse/HIVE-20241
>             Project: Hive
>          Issue Type: Improvement
>          Components: Parser
>            Reporter: Jesus Camacho Rodriguez
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Major
>              Labels: TODOC3.2
>             Fix For: 4.0.0, 3.2.0
>
>         Attachments: HIVE-20241.01.patch, HIVE-20241.01.patch, HIVE-20241.01.patch, HIVE-20241.02.patch, HIVE-20241.03.patch, HIVE-20241.patch
>
>
> Currently, for partitioned tables we will declare the table and insert the data in different operations. This issue is to extend CTAS statement to support specifying partition columns.
> For instance:
> {code:sql}
> CREATE TABLE partition_ctas_1 PARTITIONED BY (key) AS
> SELECT value, key FROM src where key > 200 and key < 300;
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)