You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jv...@apache.org on 2011/07/18 21:00:48 UTC
svn commit: r1148005 - in /hive/trunk/ql/src:
java/org/apache/hadoop/hive/ql/exec/ java/org/apache/hadoop/hive/ql/parse/
java/org/apache/hadoop/hive/ql/plan/ test/queries/clientpositive/
test/results/clientpositive/
Author: jvs
Date: Mon Jul 18 19:00:46 2011
New Revision: 1148005
URL: http://svn.apache.org/viewvc?rev=1148005&view=rev
Log:
HIVE-1218. CREATE TABLE t LIKE some_view should create a new empty base table,
but instead creates a copy of view
(Charles Chen via jvs)
Added:
hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q
hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java
hive/trunk/ql/src/test/queries/clientpositive/create_like.q
hive/trunk/ql/src/test/results/clientpositive/create_like.q.out
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java Mon Jul 18 19:00:46 2011
@@ -3223,30 +3223,80 @@ public class DDLTask extends Task<DDLWor
*/
private int createTableLike(Hive db, CreateTableLikeDesc crtTbl) throws HiveException {
// Get the existing table
- Table tbl = db.getTable(crtTbl.getLikeTableName());
-
- // find out database name and table name of target table
- String targetTableName = crtTbl.getTableName();
- Table newTable = db.newTable(targetTableName);
-
- tbl.setDbName(newTable.getDbName());
- tbl.setTableName(newTable.getTableName());
-
- if (crtTbl.isExternal()) {
- tbl.setProperty("EXTERNAL", "TRUE");
+ Table oldtbl = db.getTable(crtTbl.getLikeTableName());
+ Table tbl;
+ if (oldtbl.getTableType() == TableType.VIRTUAL_VIEW) {
+ String targetTableName = crtTbl.getTableName();
+ tbl=db.newTable(targetTableName);
+
+ tbl.setTableType(TableType.MANAGED_TABLE);
+
+ if (crtTbl.isExternal()) {
+ tbl.setProperty("EXTERNAL", "TRUE");
+ tbl.setTableType(TableType.EXTERNAL_TABLE);
+ }
+
+ tbl.setFields(oldtbl.getCols());
+ tbl.setPartCols(oldtbl.getPartCols());
+
+ if (crtTbl.getDefaultSerName() == null) {
+ LOG.info("Default to LazySimpleSerDe for table " + crtTbl.getTableName());
+ tbl.setSerializationLib(org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.class.getName());
+ } else {
+ // let's validate that the serde exists
+ validateSerDe(crtTbl.getDefaultSerName());
+ tbl.setSerializationLib(crtTbl.getDefaultSerName());
+ }
+
+ if (crtTbl.getDefaultSerdeProps() != null) {
+ Iterator<Entry<String, String>> iter = crtTbl.getDefaultSerdeProps().entrySet()
+ .iterator();
+ while (iter.hasNext()) {
+ Entry<String, String> m = iter.next();
+ tbl.setSerdeParam(m.getKey(), m.getValue());
+ }
+ }
+
+ tbl.setInputFormatClass(crtTbl.getDefaultInputFormat());
+ tbl.setOutputFormatClass(crtTbl.getDefaultOutputFormat());
+
+ tbl.getTTable().getSd().setInputFormat(
+ tbl.getInputFormatClass().getName());
+ tbl.getTTable().getSd().setOutputFormat(
+ tbl.getOutputFormatClass().getName());
} else {
- tbl.setProperty("EXTERNAL", "FALSE");
- }
+ tbl=oldtbl;
- if (crtTbl.getLocation() != null) {
- tbl.setDataLocation(new Path(crtTbl.getLocation()).toUri());
- } else {
- tbl.unsetDataLocation();
+ // find out database name and table name of target table
+ String targetTableName = crtTbl.getTableName();
+ Table newTable = db.newTable(targetTableName);
+
+ tbl.setDbName(newTable.getDbName());
+ tbl.setTableName(newTable.getTableName());
+
+ if (crtTbl.getLocation() != null) {
+ tbl.setDataLocation(new Path(crtTbl.getLocation()).toUri());
+ } else {
+ tbl.unsetDataLocation();
+ }
+
+ // we should reset table specific parameters including (stats, lastDDLTime etc.)
+ Map<String, String> params = tbl.getParameters();
+ params.clear();
+
+ if (crtTbl.isExternal()) {
+ tbl.setProperty("EXTERNAL", "TRUE");
+ tbl.setTableType(TableType.EXTERNAL_TABLE);
+ } else {
+ tbl.getParameters().remove("EXTERNAL");
+ }
}
- // we should reset table specific parameters including (stats, lastDDLTime etc.)
- Map<String, String> params = tbl.getParameters();
- params.clear();
+ // reset owner and creation time
+ int rc = setGenericTableAttributes(tbl);
+ if (rc != 0) {
+ return rc;
+ }
// create the table
db.createTable(tbl, crtTbl.getIfNotExists());
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Mon Jul 18 19:00:46 2011
@@ -7735,8 +7735,9 @@ public class SemanticAnalyzer extends Ba
break;
case CTLT: // create table like <tbl_name>
- CreateTableLikeDesc crtTblLikeDesc = new CreateTableLikeDesc(tableName,
- isExt, location, ifNotExists, likeTableName);
+ CreateTableLikeDesc crtTblLikeDesc = new CreateTableLikeDesc(tableName, isExt,
+ storageFormat.inputFormat, storageFormat.outputFormat, location,
+ shared.serde, shared.serdeProps, ifNotExists, likeTableName);
SessionState.get().setCommandType(HiveOperation.CREATETABLE);
rootTasks.add(TaskFactory.get(new DDLWork(getInputs(), getOutputs(),
crtTblLikeDesc), conf));
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java Mon Jul 18 19:00:46 2011
@@ -19,6 +19,7 @@
package org.apache.hadoop.hive.ql.plan;
import java.io.Serializable;
+import java.util.Map;
/**
* CreateTableLikeDesc.
@@ -29,6 +30,10 @@ public class CreateTableLikeDesc extends
private static final long serialVersionUID = 1L;
String tableName;
boolean isExternal;
+ String defaultInputFormat;
+ String defaultOutputFormat;
+ String defaultSerName;
+ Map<String, String> defaultSerdeProps;
String location;
boolean ifNotExists;
String likeTableName;
@@ -37,9 +42,15 @@ public class CreateTableLikeDesc extends
}
public CreateTableLikeDesc(String tableName, boolean isExternal,
- String location, boolean ifNotExists, String likeTableName) {
+ String defaultInputFormat, String defaultOutputFormat, String location,
+ String defaultSerName, Map<String, String> defaultSerdeProps, boolean ifNotExists,
+ String likeTableName) {
this.tableName = tableName;
this.isExternal = isExternal;
+ this.defaultInputFormat=defaultInputFormat;
+ this.defaultOutputFormat=defaultOutputFormat;
+ this.defaultSerName=defaultSerName;
+ this.defaultSerdeProps=defaultSerdeProps;
this.location = location;
this.ifNotExists = ifNotExists;
this.likeTableName = likeTableName;
@@ -63,6 +74,24 @@ public class CreateTableLikeDesc extends
this.tableName = tableName;
}
+ @Explain(displayName = "default input format")
+ public String getDefaultInputFormat() {
+ return defaultInputFormat;
+ }
+
+ public void setInputFormat(String inputFormat) {
+ this.defaultInputFormat = inputFormat;
+ }
+
+ @Explain(displayName = "default output format")
+ public String getDefaultOutputFormat() {
+ return defaultOutputFormat;
+ }
+
+ public void setOutputFormat(String outputFormat) {
+ this.defaultOutputFormat = outputFormat;
+ }
+
@Explain(displayName = "location")
public String getLocation() {
return location;
@@ -81,6 +110,38 @@ public class CreateTableLikeDesc extends
this.isExternal = isExternal;
}
+ /**
+ * @return the default serDeName
+ */
+ @Explain(displayName = "default serde name")
+ public String getDefaultSerName() {
+ return defaultSerName;
+ }
+
+ /**
+ * @param serName
+ * the serName to set
+ */
+ public void setDefaultSerName(String serName) {
+ this.defaultSerName = serName;
+ }
+
+ /**
+ * @return the default serDe properties
+ */
+ @Explain(displayName = "serde properties")
+ public Map<String, String> getDefaultSerdeProps() {
+ return defaultSerdeProps;
+ }
+
+ /**
+ * @param serdeProps
+ * the default serde properties to set
+ */
+ public void setDefaultSerdeProps(Map<String, String> serdeProps) {
+ this.defaultSerdeProps = serdeProps;
+ }
+
@Explain(displayName = "like")
public String getLikeTableName() {
return likeTableName;
Modified: hive/trunk/ql/src/test/queries/clientpositive/create_like.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/create_like.q?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/create_like.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/create_like.q Mon Jul 18 19:00:46 2011
@@ -3,20 +3,17 @@
CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE;
-DESCRIBE table1;
-DESCRIBE EXTENDED table1;
+DESCRIBE FORMATTED table1;
CREATE TABLE table2 LIKE table1;
-DESCRIBE table2;
-DESCRIBE EXTENDED table2;
+DESCRIBE FORMATTED table2;
CREATE TABLE IF NOT EXISTS table2 LIKE table1;
CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE table1;
CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE table1;
-DESCRIBE table3;
-DESCRIBE EXTENDED table3;
+DESCRIBE FORMATTED table3;
INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86;
INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100;
@@ -24,6 +21,3 @@ INSERT OVERWRITE TABLE table2 SELECT key
SELECT * FROM table1;
SELECT * FROM table2;
-
-
-
Added: hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q?rev=1148005&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/create_like_view.q Mon Jul 18 19:00:46 2011
@@ -0,0 +1,39 @@
+DROP TABLE IF EXISTS table1;
+DROP TABLE IF EXISTS table2;
+DROP TABLE IF EXISTS table3;
+DROP VIEW IF EXISTS view1;
+
+CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE;
+DESCRIBE table1;
+DESCRIBE FORMATTED table1;
+
+CREATE VIEW view1 AS SELECT * FROM table1;
+
+CREATE TABLE table2 LIKE view1;
+DESCRIBE table2;
+DESCRIBE FORMATTED table2;
+
+CREATE TABLE IF NOT EXISTS table2 LIKE view1;
+
+CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE view1;
+
+CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1;
+DESCRIBE table3;
+DESCRIBE FORMATTED table3;
+
+INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86;
+INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100;
+
+SELECT * FROM table1 order by a, b;
+SELECT * FROM table2 order by a, b;
+
+DROP TABLE table1;
+DROP TABLE table2;
+DROP VIEW view1;
+
+-- check partitions
+create view view1 partitioned on (ds, hr) as select * from srcpart;
+create table table1 like view1;
+describe formatted table1;
+DROP TABLE table1;
+DROP VIEW view1;
\ No newline at end of file
Modified: hive/trunk/ql/src/test/results/clientpositive/create_like.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/create_like.q.out?rev=1148005&r1=1148004&r2=1148005&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/create_like.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/create_like.q.out Mon Jul 18 19:00:46 2011
@@ -3,39 +3,73 @@ PREHOOK: type: CREATETABLE
POSTHOOK: query: CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: default@table1
-PREHOOK: query: DESCRIBE table1
+PREHOOK: query: DESCRIBE FORMATTED table1
PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE table1
+POSTHOOK: query: DESCRIBE FORMATTED table1
POSTHOOK: type: DESCTABLE
-a string
-b string
-PREHOOK: query: DESCRIBE EXTENDED table1
-PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE EXTENDED table1
-POSTHOOK: type: DESCTABLE
-a string
-b string
+# col_name data_type comment
+
+a string None
+b string None
-Detailed Table Information Table(tableName:table1, dbName:default, owner:thiruvel, createTime:1286798759, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:a, type:string, comment:null), FieldSchema(name:b, type:string, comment:null)], location:pfile:/home/thiruvel/projects/hive/hive.unsecure/build/ql/test/data/warehouse/table1, 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=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{transient_lastDdlTime=1286798759}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:44:24 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table1
+Table Type: MANAGED_TABLE
+Table Parameters:
+ transient_lastDdlTime 1310856264
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
PREHOOK: query: CREATE TABLE table2 LIKE table1
PREHOOK: type: CREATETABLE
POSTHOOK: query: CREATE TABLE table2 LIKE table1
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: default@table2
-PREHOOK: query: DESCRIBE table2
-PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE table2
-POSTHOOK: type: DESCTABLE
-a string
-b string
-PREHOOK: query: DESCRIBE EXTENDED table2
+PREHOOK: query: DESCRIBE FORMATTED table2
PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE EXTENDED table2
+POSTHOOK: query: DESCRIBE FORMATTED table2
POSTHOOK: type: DESCTABLE
-a string
-b string
+# col_name data_type comment
-Detailed Table Information Table(tableName:table2, dbName:default, owner:thiruvel, createTime:1286798760, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:a, type:string, comment:null), FieldSchema(name:b, type:string, comment:null)], location:pfile:/home/thiruvel/projects/hive/hive.unsecure/build/ql/test/data/warehouse/table2, 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=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=FALSE, transient_lastDdlTime=1286798760}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE)
+a string None
+b string None
+
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:44:24 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table2
+Table Type: MANAGED_TABLE
+Table Parameters:
+ transient_lastDdlTime 1310856264
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
PREHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE table1
PREHOOK: type: CREATETABLE
POSTHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE table1
@@ -49,20 +83,38 @@ PREHOOK: type: CREATETABLE
POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE table1
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: default@table3
-PREHOOK: query: DESCRIBE table3
-PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE table3
-POSTHOOK: type: DESCTABLE
-a string
-b string
-PREHOOK: query: DESCRIBE EXTENDED table3
+PREHOOK: query: DESCRIBE FORMATTED table3
PREHOOK: type: DESCTABLE
-POSTHOOK: query: DESCRIBE EXTENDED table3
+POSTHOOK: query: DESCRIBE FORMATTED table3
POSTHOOK: type: DESCTABLE
-a string
-b string
+# col_name data_type comment
+
+a string None
+b string None
+
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:44:24 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table3
+Table Type: EXTERNAL_TABLE
+Table Parameters:
+ EXTERNAL TRUE
+ transient_lastDdlTime 1310856264
-Detailed Table Information Table(tableName:table3, dbName:default, owner:thiruvel, createTime:1286798760, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:a, type:string, comment:null), FieldSchema(name:b, type:string, comment:null)], location:pfile:/home/thiruvel/projects/hive/hive.unsecure/build/ql/test/data/warehouse/table3, 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=1}), bucketCols:[], sortCols:[], parameters:{}), partitionKeys:[], parameters:{EXTERNAL=TRUE, transient_lastDdlTime=1286798760}, viewOriginalText:null, viewExpandedText:null, tableType:EXTERNAL_TABLE)
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
PREHOOK: query: INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86
PREHOOK: type: QUERY
PREHOOK: Input: default@src
@@ -88,11 +140,11 @@ POSTHOOK: Lineage: table2.b SIMPLE [(src
PREHOOK: query: SELECT * FROM table1
PREHOOK: type: QUERY
PREHOOK: Input: default@table1
-PREHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_038_1626206004888639/-mr-10000
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_490_2335283351138014900/-mr-10000
POSTHOOK: query: SELECT * FROM table1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table1
-POSTHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_038_1626206004888639/-mr-10000
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_490_2335283351138014900/-mr-10000
POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
@@ -101,11 +153,11 @@ POSTHOOK: Lineage: table2.b SIMPLE [(src
PREHOOK: query: SELECT * FROM table2
PREHOOK: type: QUERY
PREHOOK: Input: default@table2
-PREHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_139_9055053700650128611/-mr-10000
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_655_7605576315633944704/-mr-10000
POSTHOOK: query: SELECT * FROM table2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@table2
-POSTHOOK: Output: file:/tmp/thiruvel/hive_2010-10-11_05-06-07_139_9055053700650128611/-mr-10000
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-44-45_655_7605576315633944704/-mr-10000
POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
Added: hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out?rev=1148005&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/create_like_view.q.out Mon Jul 18 19:00:46 2011
@@ -0,0 +1,330 @@
+PREHOOK: query: DROP TABLE IF EXISTS table1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS table1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP TABLE IF EXISTS table2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS table2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP TABLE IF EXISTS table3
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE IF EXISTS table3
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: DROP VIEW IF EXISTS view1
+PREHOOK: type: DROPVIEW
+POSTHOOK: query: DROP VIEW IF EXISTS view1
+POSTHOOK: type: DROPVIEW
+PREHOOK: query: CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE table1 (a STRING, b STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table1
+PREHOOK: query: DESCRIBE table1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE table1
+POSTHOOK: type: DESCTABLE
+a string
+b string
+PREHOOK: query: DESCRIBE FORMATTED table1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED table1
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+a string None
+b string None
+
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:42:16 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table1
+Table Type: MANAGED_TABLE
+Table Parameters:
+ transient_lastDdlTime 1310856136
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: CREATE VIEW view1 AS SELECT * FROM table1
+PREHOOK: type: CREATEVIEW
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-17_015_678488215389625233/-mr-10000
+POSTHOOK: query: CREATE VIEW view1 AS SELECT * FROM table1
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Output: default@view1
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-17_015_678488215389625233/-mr-10000
+PREHOOK: query: CREATE TABLE table2 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE table2 LIKE view1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table2
+PREHOOK: query: DESCRIBE table2
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE table2
+POSTHOOK: type: DESCTABLE
+a string
+b string
+PREHOOK: query: DESCRIBE FORMATTED table2
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED table2
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+a string None
+b string None
+
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:42:17 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table2
+Table Type: MANAGED_TABLE
+Table Parameters:
+ transient_lastDdlTime 1310856137
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE IF NOT EXISTS table2 LIKE view1
+POSTHOOK: type: CREATETABLE
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table2 LIKE view1
+POSTHOOK: type: CREATETABLE
+PREHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE EXTERNAL TABLE IF NOT EXISTS table3 LIKE view1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table3
+PREHOOK: query: DESCRIBE table3
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE table3
+POSTHOOK: type: DESCTABLE
+a string
+b string
+PREHOOK: query: DESCRIBE FORMATTED table3
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE FORMATTED table3
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+a string None
+b string None
+
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:42:17 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table3
+Table Type: EXTERNAL_TABLE
+Table Parameters:
+ EXTERNAL TRUE
+ transient_lastDdlTime 1310856137
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@table1
+POSTHOOK: query: INSERT OVERWRITE TABLE table1 SELECT key, value FROM src WHERE key = 86
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@table2
+POSTHOOK: query: INSERT OVERWRITE TABLE table2 SELECT key, value FROM src WHERE key = 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@table2
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: SELECT * FROM table1 order by a, b
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-29_194_1551180376215487165/-mr-10000
+POSTHOOK: query: SELECT * FROM table1 order by a, b
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-29_194_1551180376215487165/-mr-10000
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+86 val_86
+PREHOOK: query: SELECT * FROM table2 order by a, b
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table2
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-33_431_277070075655620984/-mr-10000
+POSTHOOK: query: SELECT * FROM table2 order by a, b
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table2
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-33_431_277070075655620984/-mr-10000
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+100 val_100
+100 val_100
+PREHOOK: query: DROP TABLE table1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@table1
+PREHOOK: Output: default@table1
+POSTHOOK: query: DROP TABLE table1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@table1
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: DROP TABLE table2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@table2
+PREHOOK: Output: default@table2
+POSTHOOK: query: DROP TABLE table2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@table2
+POSTHOOK: Output: default@table2
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: DROP VIEW view1
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@view1
+PREHOOK: Output: default@view1
+POSTHOOK: query: DROP VIEW view1
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@view1
+POSTHOOK: Output: default@view1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- check partitions
+create view view1 partitioned on (ds, hr) as select * from srcpart
+PREHOOK: type: CREATEVIEW
+PREHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-38_417_1642626087699140210/-mr-10000
+POSTHOOK: query: -- check partitions
+create view view1 partitioned on (ds, hr) as select * from srcpart
+POSTHOOK: type: CREATEVIEW
+POSTHOOK: Output: default@view1
+POSTHOOK: Output: file:/var/folders/fe/fefl-ow3ElaEd1ns0G7jB0uewEQ/-Tmp-/charleschen/hive_2011-07-16_15-42-38_417_1642626087699140210/-mr-10000
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table table1 like view1
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table table1 like view1
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: describe formatted table1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted table1
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+# col_name data_type comment
+
+key string None
+value string None
+
+# Partition Information
+# col_name data_type comment
+
+ds string None
+hr string None
+
+# Detailed Table Information
+Database: default
+Owner: charleschen
+CreateTime: Sat Jul 16 15:42:38 PDT 2011
+LastAccessTime: UNKNOWN
+Protect Mode: None
+Retention: 0
+Location: pfile:/Users/charleschen/hive-trunk2/build/ql/test/data/warehouse/table1
+Table Type: MANAGED_TABLE
+Table Parameters:
+ transient_lastDdlTime 1310856158
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: DROP TABLE table1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@table1
+PREHOOK: Output: default@table1
+POSTHOOK: query: DROP TABLE table1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@table1
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: DROP VIEW view1
+PREHOOK: type: DROPVIEW
+PREHOOK: Input: default@view1
+PREHOOK: Output: default@view1
+POSTHOOK: query: DROP VIEW view1
+POSTHOOK: type: DROPVIEW
+POSTHOOK: Input: default@view1
+POSTHOOK: Output: default@view1
+POSTHOOK: Lineage: table1.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table1.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.a SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: table2.b SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]