You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Esteban Gutierrez (JIRA)" <ji...@apache.org> on 2011/07/07 02:13:16 UTC

[jira] [Updated] (HIVE-2268) CREATE.. TABLE.. LIKE should not inherit the original owner of the table.

     [ https://issues.apache.org/jira/browse/HIVE-2268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Esteban Gutierrez updated HIVE-2268:
------------------------------------

    Component/s: Security
    Description: 

When a new table is created by using CREATE.. TABLE.. LIKE.. the new table inherits the existing owner of the table, this is issue is potentially conflicting for multiuser environments where Hive authorization is planned for future use.


-- alice creates table 
CREATE EXTERNAL TABLE foo(bar double)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
STORED AS TEXTFILE LOCATION '/user/alice/foo';

-- table owner is alice as expected
hive> DESCRIBE EXTENDED foo;
OK
bar     double  
                 
Detailed Table Information      Table(tableName:foo, dbName:default, {color:red} owner:alice {color}, createTime:1309996190, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:bar, type:double, comment:null)], location:hdfs://localhost/user/alice/foo, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=,, field.delim=,, line.delim=       
}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=TRUE, transient_lastDdlTime=1309996190}, viewOriginalText:null, viewExpandedText:null, tableType:EXTERNAL_TABLE)      


-- bob calls CREATE..TABLE..LIKE
CREATE TABLE foo_like LIKE foo;

-- bob created a new table using like but the owner stills alice
-- but the expected is owner:bob
hive>  DESCRIBE EXTENDED foo_like;

OK
bar     double  
                 
Detailed Table Information      Table(tableName:foo_like, dbName:default, {color:red} owner:alice {color}, createTime:1309996554, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:bar, type:double, comment:null)], location:hdfs://localhost/user/hive/warehouse/foo_like, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=,, field.delim=,, line.delim=  
}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1309996554}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)



  was:
-- alice creates table 
CREATE EXTERNAL TABLE foo(bar double)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
STORED AS TEXTFILE LOCATION '/user/alice/foo';

-- table owner is alice as expected
hive> DESCRIBE EXTENDED foo;
OK
bar     double  
                 
Detailed Table Information      Table(tableName:foo, dbName:default, {color:red} owner:alice {color}, createTime:1309996190, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:bar, type:double, comment:null)], location:hdfs://localhost/user/alice/foo, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=,, field.delim=,, line.delim=       
}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=TRUE, transient_lastDdlTime=1309996190}, viewOriginalText:null, viewExpandedText:null, tableType:EXTERNAL_TABLE)      


-- bob calls CREATE..TABLE..LIKE
CREATE TABLE foo_like LIKE foo;

-- bob created a new table using like but the owner stills alice
-- but the expected is owner:bob
hive>  DESCRIBE EXTENDED foo_like;

OK
bar     double  
                 
Detailed Table Information      Table(tableName:foo_like, dbName:default, {color:red} owner:alice {color}, createTime:1309996554, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:bar, type:double, comment:null)], location:hdfs://localhost/user/hive/warehouse/foo_like, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=,, field.delim=,, line.delim=  
}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1309996554}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)



         Labels: create ddl table  (was: )
        Summary: CREATE.. TABLE.. LIKE should not inherit the original owner of the table.  (was: CREATE.. TABLE...LIKE should propagate current owner:)

> CREATE.. TABLE.. LIKE should not inherit the original owner of the table.
> -------------------------------------------------------------------------
>
>                 Key: HIVE-2268
>                 URL: https://issues.apache.org/jira/browse/HIVE-2268
>             Project: Hive
>          Issue Type: Bug
>          Components: Metastore, Security
>    Affects Versions: 0.7.0, 0.7.1, 0.8.0
>            Reporter: Esteban Gutierrez
>              Labels: create, ddl, table
>
> When a new table is created by using CREATE.. TABLE.. LIKE.. the new table inherits the existing owner of the table, this is issue is potentially conflicting for multiuser environments where Hive authorization is planned for future use.
> -- alice creates table 
> CREATE EXTERNAL TABLE foo(bar double)
> ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
> STORED AS TEXTFILE LOCATION '/user/alice/foo';
> -- table owner is alice as expected
> hive> DESCRIBE EXTENDED foo;
> OK
> bar     double  
>                  
> Detailed Table Information      Table(tableName:foo, dbName:default, {color:red} owner:alice {color}, createTime:1309996190, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:bar, type:double, comment:null)], location:hdfs://localhost/user/alice/foo, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=,, field.delim=,, line.delim=       
> }), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=TRUE, transient_lastDdlTime=1309996190}, viewOriginalText:null, viewExpandedText:null, tableType:EXTERNAL_TABLE)      
> -- bob calls CREATE..TABLE..LIKE
> CREATE TABLE foo_like LIKE foo;
> -- bob created a new table using like but the owner stills alice
> -- but the expected is owner:bob
> hive>  DESCRIBE EXTENDED foo_like;
> OK
> bar     double  
>                  
> Detailed Table Information      Table(tableName:foo_like, dbName:default, {color:red} owner:alice {color}, createTime:1309996554, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:bar, type:double, comment:null)], location:hdfs://localhost/user/hive/warehouse/foo_like, inputFormat:org.apache.hadoop.mapred.TextInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=,, field.delim=,, line.delim=  
> }), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1309996554}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira