从temp1创建表temp2 select *不会获取hive 0.14中源表的所有属性

时间:2016-03-10 09:34:14

标签: hive hdfs hadoop2 hortonworks-data-platform

我正在尝试使用以下过程从另一个表(temp1)创建表(temp2),并且正在创建表,但是temp2表中缺少一些属性,如下例所示。

表temp2中缺少的属性是

field.delim'\ t'---这是缺失的   serialization.format'\ t'---缺少

        create table temp1 (
        id int,
        name string,
        age int,
        address string
        ) row format delimited fields terminated by '\t';


        describe formatted temp1;

        id int,
        name string,
        age int,
        address string

        <additional messages>
        -----
        ----

        field.delim          '\t'
        serialization.format '\t'

        create table temp2 select * from temp1 where 1=2;

        descibe formatted temp2;

        id int,
        name string,
        age int,
        address string

        <additional messages>
        -----
        ----

        field.delim          '\t'  --- This is missing
        serialization.format '\t'  --- This is missing

1 个答案:

答案 0 :(得分:2)

“创建表”只是使用来自“select”的数据来构建他的属性。我想当hive将数据从表推送到另一个表时,没有与数据相关联的格式。

您可以使用以下代码:

CREATE TABLE IF NOT EXISTS temp2 LIKE temp1;
FROM temp1 INSERT INTO temp2 SELECT * FROM temp1 WHERE 1=2;