Author: rhbutani
Date: Thu Mar 13 00:58:54 2014
New Revision: 1577016

URL: http://svn.apache.org/r1577016
Log:
HIVE-6457: Ensure Parquet integration has good error messages for data types 
not supported (Brock via Xuefu)

Added:
    hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_char.q
    hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_date.q
    
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_decimal.q
    
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_timestamp.q
    
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_varchar.q
    
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_char.q.out
    
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_date.q.out
    
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_decimal.q.out
    
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_timestamp.q.out
    
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_varchar.q.out
Modified:
    
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java

Modified: 
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java?rev=1577016&r1=1577015&r2=1577016&view=diff
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java
 (original)
+++ 
hive/branches/branch-0.13/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ArrayWritableObjectInspector.java
 Thu Mar 13 00:58:54 2014
@@ -19,6 +19,7 @@ import java.util.HashMap;
 import java.util.List;
 
 import 
org.apache.hadoop.hive.ql.io.parquet.serde.primitive.ParquetPrimitiveInspectorFactory;
+import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import 
org.apache.hadoop.hive.serde2.objectinspector.SettableStructObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.StructField;
@@ -89,14 +90,22 @@ public class ArrayWritableObjectInspecto
       } else {
         return new 
StandardParquetHiveMapInspector(getObjectInspector(keyTypeInfo), 
getObjectInspector(valueTypeInfo));
       }
-    } else if (typeInfo.equals(TypeInfoFactory.timestampTypeInfo)) {
-      throw new UnsupportedOperationException("timestamp not implemented yet");
     } else if (typeInfo.equals(TypeInfoFactory.byteTypeInfo)) {
       return ParquetPrimitiveInspectorFactory.parquetByteInspector;
     } else if (typeInfo.equals(TypeInfoFactory.shortTypeInfo)) {
       return ParquetPrimitiveInspectorFactory.parquetShortInspector;
+    } else if (typeInfo.equals(TypeInfoFactory.timestampTypeInfo)) {
+      throw new UnsupportedOperationException("Parquet does not support 
timestamp. See HIVE-6384");
+    } else if (typeInfo.equals(TypeInfoFactory.dateTypeInfo)) {
+      throw new UnsupportedOperationException("Parquet does not support date. 
See HIVE-6384");
+    } else if 
(typeInfo.getTypeName().toLowerCase().startsWith(serdeConstants.DECIMAL_TYPE_NAME))
 {
+      throw new UnsupportedOperationException("Parquet does not support 
decimal. See HIVE-6384");
+    } else if 
(typeInfo.getTypeName().toLowerCase().startsWith(serdeConstants.CHAR_TYPE_NAME))
 {
+      throw new UnsupportedOperationException("Parquet does not support char. 
See HIVE-6384");
+    } else if 
(typeInfo.getTypeName().toLowerCase().startsWith(serdeConstants.VARCHAR_TYPE_NAME))
 {
+      throw new UnsupportedOperationException("Parquet does not support 
varchar. See HIVE-6384");
     } else {
-      throw new IllegalArgumentException("Unknown field info: " + typeInfo);
+      throw new UnsupportedOperationException("Unknown field type: " + 
typeInfo);
     }
 
   }

Added: 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_char.q
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_char.q?rev=1577016&view=auto
==============================================================================
--- hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_char.q 
(added)
+++ hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_char.q 
Thu Mar 13 00:58:54 2014
@@ -0,0 +1,3 @@
+drop table if exists parquet_char;
+
+create table parquet_char (t char(10)) stored as parquet;

Added: 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_date.q
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_date.q?rev=1577016&view=auto
==============================================================================
--- hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_date.q 
(added)
+++ hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_date.q 
Thu Mar 13 00:58:54 2014
@@ -0,0 +1,3 @@
+drop table if exists parquet_date;
+
+create table parquet_date (t date) stored as parquet;

Added: 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_decimal.q
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_decimal.q?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_decimal.q 
(added)
+++ 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_decimal.q 
Thu Mar 13 00:58:54 2014
@@ -0,0 +1,3 @@
+drop table if exists parquet_decimal;
+
+create table parquet_decimal (t decimal(4,2)) stored as parquet;

Added: 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_timestamp.q
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_timestamp.q?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_timestamp.q
 (added)
+++ 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_timestamp.q
 Thu Mar 13 00:58:54 2014
@@ -0,0 +1,3 @@
+drop table if exists parquet_timestamp;
+
+create table parquet_timestamp (t timestamp) stored as parquet;

Added: 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_varchar.q
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_varchar.q?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_varchar.q 
(added)
+++ 
hive/branches/branch-0.13/ql/src/test/queries/clientnegative/parquet_varchar.q 
Thu Mar 13 00:58:54 2014
@@ -0,0 +1,3 @@
+drop table if exists parquet_varchar;
+
+create table parquet_varchar (t varchar(10)) stored as parquet;

Added: 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_char.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_char.q.out?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_char.q.out 
(added)
+++ 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_char.q.out 
Thu Mar 13 00:58:54 2014
@@ -0,0 +1,8 @@
+PREHOOK: query: drop table if exists parquet_char
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists parquet_char
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table parquet_char (t char(10)) stored as parquet
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask. 
java.lang.UnsupportedOperationException: Parquet does not support char. See 
HIVE-6384

Added: 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_date.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_date.q.out?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_date.q.out 
(added)
+++ 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_date.q.out 
Thu Mar 13 00:58:54 2014
@@ -0,0 +1,8 @@
+PREHOOK: query: drop table if exists parquet_date
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists parquet_date
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table parquet_date (t date) stored as parquet
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask. 
java.lang.UnsupportedOperationException: Parquet does not support date. See 
HIVE-6384

Added: 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_decimal.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_decimal.q.out?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_decimal.q.out
 (added)
+++ 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_decimal.q.out
 Thu Mar 13 00:58:54 2014
@@ -0,0 +1,8 @@
+PREHOOK: query: drop table if exists parquet_decimal
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists parquet_decimal
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table parquet_decimal (t decimal(4,2)) stored as parquet
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask. 
java.lang.UnsupportedOperationException: Parquet does not support decimal. See 
HIVE-6384

Added: 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_timestamp.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_timestamp.q.out?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_timestamp.q.out
 (added)
+++ 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_timestamp.q.out
 Thu Mar 13 00:58:54 2014
@@ -0,0 +1,8 @@
+PREHOOK: query: drop table if exists parquet_timestamp
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists parquet_timestamp
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table parquet_timestamp (t timestamp) stored as parquet
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask. 
java.lang.UnsupportedOperationException: Parquet does not support timestamp. 
See HIVE-6384

Added: 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_varchar.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_varchar.q.out?rev=1577016&view=auto
==============================================================================
--- 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_varchar.q.out
 (added)
+++ 
hive/branches/branch-0.13/ql/src/test/results/clientnegative/parquet_varchar.q.out
 Thu Mar 13 00:58:54 2014
@@ -0,0 +1,8 @@
+PREHOOK: query: drop table if exists parquet_varchar
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists parquet_varchar
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table parquet_varchar (t varchar(10)) stored as parquet
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+FAILED: Execution Error, return code 1 from 
org.apache.hadoop.hive.ql.exec.DDLTask. 
java.lang.UnsupportedOperationException: Parquet does not support varchar. See 
HIVE-6384


Reply via email to