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