diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java index a381443ea16eab719258a1ab6a98d6b468b7d3f3..973603b0752d988998ec9f4a88c6f5272dffbad1 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Properties; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -42,7 +43,7 @@ * A serde class for ORC. * It transparently passes the object to/from the ORC file reader/writer. */ -@SerDeSpec(schemaProps = {serdeConstants.LIST_COLUMNS, serdeConstants.LIST_COLUMN_TYPES}) +@SerDeSpec(schemaProps = {serdeConstants.LIST_COLUMNS, serdeConstants.LIST_COLUMN_TYPES, OrcSerde.COMPRESSION}) public class OrcSerde implements SerDe, VectorizedSerde { private static final Log LOG = LogFactory.getLog(OrcSerde.class); @@ -51,6 +52,7 @@ private ObjectInspector inspector = null; private VectorizedOrcSerde vos = null; + public static final String COMPRESSION = "orc.compress"; final class OrcSerdeRow implements Writable { Object realRow; diff --git a/ql/src/test/queries/clientpositive/create_like.q b/ql/src/test/queries/clientpositive/create_like.q index 3b04702d74d1e609691af310ea38d9a59f2cec50..6f2be287fa8a5d6a543f203392e3d92b8c58f3b2 100644 --- a/ql/src/test/queries/clientpositive/create_like.q +++ b/ql/src/test/queries/clientpositive/create_like.q @@ -83,3 +83,15 @@ DESCRIBE FORMATTED table6; drop table table5; +create table orc_table ( +time string) +stored as ORC tblproperties ("orc.compress"="SNAPPY"); + +create table orc_table_using_like like orc_table; + +show create table orc_table_using_like; + +drop table orc_table_using_like; + +drop table orc_table; + diff --git a/ql/src/test/results/clientpositive/create_like.q.out b/ql/src/test/results/clientpositive/create_like.q.out index c93b134912491483ca205409576ab893939e8971..3ae9c0601c022e3731b65093c85a3d4217680dcd 100644 --- a/ql/src/test/results/clientpositive/create_like.q.out +++ b/ql/src/test/results/clientpositive/create_like.q.out @@ -579,3 +579,58 @@ POSTHOOK: query: drop table table5 POSTHOOK: type: DROPTABLE POSTHOOK: Input: default@table5 POSTHOOK: Output: default@table5 +PREHOOK: query: create table orc_table ( +time string) +stored as ORC tblproperties ("orc.compress"="SNAPPY") +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table +POSTHOOK: query: create table orc_table ( +time string) +stored as ORC tblproperties ("orc.compress"="SNAPPY") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table +PREHOOK: query: create table orc_table_using_like like orc_table +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_using_like +POSTHOOK: query: create table orc_table_using_like like orc_table +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_using_like +PREHOOK: query: show create table orc_table_using_like +PREHOOK: type: SHOW_CREATETABLE +PREHOOK: Input: default@orc_table_using_like +POSTHOOK: query: show create table orc_table_using_like +POSTHOOK: type: SHOW_CREATETABLE +POSTHOOK: Input: default@orc_table_using_like +CREATE TABLE `orc_table_using_like`( + `time` string) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' +STORED AS INPUTFORMAT + 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' +OUTPUTFORMAT + 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' +LOCATION +#### A masked pattern was here #### +TBLPROPERTIES ( + 'orc.compress'='SNAPPY', +#### A masked pattern was here #### +PREHOOK: query: drop table orc_table_using_like +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@orc_table_using_like +PREHOOK: Output: default@orc_table_using_like +POSTHOOK: query: drop table orc_table_using_like +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@orc_table_using_like +POSTHOOK: Output: default@orc_table_using_like +PREHOOK: query: drop table orc_table +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@orc_table +PREHOOK: Output: default@orc_table +POSTHOOK: query: drop table orc_table +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@orc_table +POSTHOOK: Output: default@orc_table