Added: hive/trunk/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q (added) +++ hive/trunk/ql/src/test/queries/clientpositive/parquet_thrift_array_of_single_field_struct.q Sun Nov 23 17:54:38 2014 @@ -0,0 +1,13 @@ +-- this test creates a Parquet table with an array of single-field structs +-- as written by parquet-thrift + +CREATE TABLE parquet_thrift_array_of_single_field_structs ( + single_element_groups ARRAY<STRUCT<count: BIGINT>> +) STORED AS PARQUET; + +LOAD DATA LOCAL INPATH '../../data/files/ThriftSingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_thrift_array_of_single_field_structs; + +SELECT * FROM parquet_thrift_array_of_single_field_structs; + +DROP TABLE parquet_thrift_array_of_single_field_structs;
Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_multi_field_struct.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_multi_field_struct.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_multi_field_struct.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_multi_field_struct.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,88 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of multi-field structs + +CREATE TABLE parquet_array_of_multi_field_structs ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_array_of_multi_field_structs +POSTHOOK: query: -- this test creates a Parquet table with an array of multi-field structs + +CREATE TABLE parquet_array_of_multi_field_structs ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_array_of_multi_field_structs +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/MultiFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_multi_field_structs +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_array_of_multi_field_structs +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/MultiFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_multi_field_structs +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_array_of_multi_field_structs +PREHOOK: query: SELECT * FROM parquet_array_of_multi_field_structs +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_array_of_multi_field_structs +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_array_of_multi_field_structs +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_array_of_multi_field_structs +#### A masked pattern was here #### +[{"latitude":0.0,"longitude":0.0},{"latitude":0.0,"longitude":180.0}] +PREHOOK: query: DROP TABLE parquet_array_of_multi_field_structs +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_array_of_multi_field_structs +PREHOOK: Output: default@parquet_array_of_multi_field_structs +POSTHOOK: query: DROP TABLE parquet_array_of_multi_field_structs +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_array_of_multi_field_structs +POSTHOOK: Output: default@parquet_array_of_multi_field_structs +PREHOOK: query: -- maps use the same writable structure, so validate that the data can be read +-- as a map instead of an array of structs + +CREATE TABLE parquet_map_view_of_multi_field_structs ( + locations MAP<DOUBLE, DOUBLE> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_map_view_of_multi_field_structs +POSTHOOK: query: -- maps use the same writable structure, so validate that the data can be read +-- as a map instead of an array of structs + +CREATE TABLE parquet_map_view_of_multi_field_structs ( + locations MAP<DOUBLE, DOUBLE> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_map_view_of_multi_field_structs +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/MultiFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_map_view_of_multi_field_structs +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_map_view_of_multi_field_structs +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/MultiFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_map_view_of_multi_field_structs +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_map_view_of_multi_field_structs +PREHOOK: query: SELECT * FROM parquet_map_view_of_multi_field_structs +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_map_view_of_multi_field_structs +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_map_view_of_multi_field_structs +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_map_view_of_multi_field_structs +#### A masked pattern was here #### +{0.0:180.0} +PREHOOK: query: DROP TABLE parquet_map_view_of_multi_field_structs +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_map_view_of_multi_field_structs +PREHOOK: Output: default@parquet_map_view_of_multi_field_structs +POSTHOOK: query: DROP TABLE parquet_map_view_of_multi_field_structs +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_map_view_of_multi_field_structs +POSTHOOK: Output: default@parquet_map_view_of_multi_field_structs Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_optional_elements.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_optional_elements.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_optional_elements.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_optional_elements.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,43 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of optional structs + +CREATE TABLE parquet_array_of_optional_elements ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_array_of_optional_elements +POSTHOOK: query: -- this test creates a Parquet table with an array of optional structs + +CREATE TABLE parquet_array_of_optional_elements ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_array_of_optional_elements +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/NewOptionalGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_optional_elements +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_array_of_optional_elements +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/NewOptionalGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_optional_elements +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_array_of_optional_elements +PREHOOK: query: SELECT * FROM parquet_array_of_optional_elements +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_array_of_optional_elements +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_array_of_optional_elements +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_array_of_optional_elements +#### A masked pattern was here #### +[{"latitude":0.0,"longitude":0.0},null,{"latitude":0.0,"longitude":180.0}] +PREHOOK: query: DROP TABLE parquet_array_of_optional_elements +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_array_of_optional_elements +PREHOOK: Output: default@parquet_array_of_optional_elements +POSTHOOK: query: DROP TABLE parquet_array_of_optional_elements +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_array_of_optional_elements +POSTHOOK: Output: default@parquet_array_of_optional_elements Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_required_elements.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_required_elements.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_required_elements.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_required_elements.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,43 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_array_of_required_elements ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_array_of_required_elements +POSTHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_array_of_required_elements ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_array_of_required_elements +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/NewRequiredGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_required_elements +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_array_of_required_elements +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/NewRequiredGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_required_elements +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_array_of_required_elements +PREHOOK: query: SELECT * FROM parquet_array_of_required_elements +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_array_of_required_elements +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_array_of_required_elements +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_array_of_required_elements +#### A masked pattern was here #### +[{"latitude":0.0,"longitude":180.0},{"latitude":0.0,"longitude":0.0}] +PREHOOK: query: DROP TABLE parquet_array_of_required_elements +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_array_of_required_elements +PREHOOK: Output: default@parquet_array_of_required_elements +POSTHOOK: query: DROP TABLE parquet_array_of_required_elements +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_array_of_required_elements +POSTHOOK: Output: default@parquet_array_of_required_elements Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_single_field_struct.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_single_field_struct.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_single_field_struct.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_single_field_struct.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,47 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of single-field structs +-- that has an ambiguous Parquet schema that is assumed to be a list of bigints +-- This is verifies compliance with the spec for this case. + +CREATE TABLE parquet_ambiguous_array_of_single_field_structs ( + single_element_groups ARRAY<BIGINT> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_ambiguous_array_of_single_field_structs +POSTHOOK: query: -- this test creates a Parquet table with an array of single-field structs +-- that has an ambiguous Parquet schema that is assumed to be a list of bigints +-- This is verifies compliance with the spec for this case. + +CREATE TABLE parquet_ambiguous_array_of_single_field_structs ( + single_element_groups ARRAY<BIGINT> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_ambiguous_array_of_single_field_structs +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/SingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_ambiguous_array_of_single_field_structs +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_ambiguous_array_of_single_field_structs +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/SingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_ambiguous_array_of_single_field_structs +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_ambiguous_array_of_single_field_structs +PREHOOK: query: SELECT * FROM parquet_ambiguous_array_of_single_field_structs +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_ambiguous_array_of_single_field_structs +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_ambiguous_array_of_single_field_structs +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_ambiguous_array_of_single_field_structs +#### A masked pattern was here #### +[1234,2345] +PREHOOK: query: DROP TABLE parquet_ambiguous_array_of_single_field_structs +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_ambiguous_array_of_single_field_structs +PREHOOK: Output: default@parquet_ambiguous_array_of_single_field_structs +POSTHOOK: query: DROP TABLE parquet_ambiguous_array_of_single_field_structs +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_ambiguous_array_of_single_field_structs +POSTHOOK: Output: default@parquet_ambiguous_array_of_single_field_structs Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_structs.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_structs.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_structs.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_structs.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,43 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_array_of_structs ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_array_of_structs +POSTHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_array_of_structs ( + locations ARRAY<STRUCT<latitude: DOUBLE, longitude: DOUBLE>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_array_of_structs +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/HiveRequiredGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_structs +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_array_of_structs +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/HiveRequiredGroupInList.parquet' +OVERWRITE INTO TABLE parquet_array_of_structs +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_array_of_structs +PREHOOK: query: SELECT * FROM parquet_array_of_structs +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_array_of_structs +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_array_of_structs +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_array_of_structs +#### A masked pattern was here #### +[{"latitude":0.0,"longitude":180.0},{"latitude":0.0,"longitude":0.0}] +PREHOOK: query: DROP TABLE parquet_array_of_structs +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_array_of_structs +PREHOOK: Output: default@parquet_array_of_structs +POSTHOOK: query: DROP TABLE parquet_array_of_structs +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_array_of_structs +POSTHOOK: Output: default@parquet_array_of_structs Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_groups.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_groups.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_groups.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_groups.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,45 @@ +PREHOOK: query: -- this test creates a Parquet table from a structure with an unannotated +-- repeated structure of (x,y) structs + +CREATE TABLE parquet_array_of_unannotated_groups ( + list_of_points ARRAY<STRUCT<x: FLOAT, y: FLOAT>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_array_of_unannotated_groups +POSTHOOK: query: -- this test creates a Parquet table from a structure with an unannotated +-- repeated structure of (x,y) structs + +CREATE TABLE parquet_array_of_unannotated_groups ( + list_of_points ARRAY<STRUCT<x: FLOAT, y: FLOAT>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_array_of_unannotated_groups +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/UnannotatedListOfGroups.parquet' +OVERWRITE INTO TABLE parquet_array_of_unannotated_groups +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_array_of_unannotated_groups +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/UnannotatedListOfGroups.parquet' +OVERWRITE INTO TABLE parquet_array_of_unannotated_groups +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_array_of_unannotated_groups +PREHOOK: query: SELECT * FROM parquet_array_of_unannotated_groups +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_array_of_unannotated_groups +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_array_of_unannotated_groups +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_array_of_unannotated_groups +#### A masked pattern was here #### +[{"x":1.0,"y":1.0},{"x":2.0,"y":2.0}] +PREHOOK: query: DROP TABLE parquet_array_of_unannotated_groups +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_array_of_unannotated_groups +PREHOOK: Output: default@parquet_array_of_unannotated_groups +POSTHOOK: query: DROP TABLE parquet_array_of_unannotated_groups +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_array_of_unannotated_groups +POSTHOOK: Output: default@parquet_array_of_unannotated_groups Added: hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_primitives.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_primitives.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_primitives.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_array_of_unannotated_primitives.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,45 @@ +PREHOOK: query: -- this test creates a Parquet table from a structure with an unannotated +-- repeated structure of int32s + +CREATE TABLE parquet_array_of_unannotated_ints ( + list_of_ints ARRAY<INT> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_array_of_unannotated_ints +POSTHOOK: query: -- this test creates a Parquet table from a structure with an unannotated +-- repeated structure of int32s + +CREATE TABLE parquet_array_of_unannotated_ints ( + list_of_ints ARRAY<INT> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_array_of_unannotated_ints +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/UnannotatedListOfPrimitives.parquet' +OVERWRITE INTO TABLE parquet_array_of_unannotated_ints +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_array_of_unannotated_ints +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/UnannotatedListOfPrimitives.parquet' +OVERWRITE INTO TABLE parquet_array_of_unannotated_ints +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_array_of_unannotated_ints +PREHOOK: query: SELECT * FROM parquet_array_of_unannotated_ints +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_array_of_unannotated_ints +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_array_of_unannotated_ints +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_array_of_unannotated_ints +#### A masked pattern was here #### +[34,35,36] +PREHOOK: query: DROP TABLE parquet_array_of_unannotated_ints +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_array_of_unannotated_ints +PREHOOK: Output: default@parquet_array_of_unannotated_ints +POSTHOOK: query: DROP TABLE parquet_array_of_unannotated_ints +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_array_of_unannotated_ints +POSTHOOK: Output: default@parquet_array_of_unannotated_ints Added: hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_primitives.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_primitives.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_primitives.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_primitives.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,43 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_avro_array_of_primitives ( + list_of_ints ARRAY<INT> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_avro_array_of_primitives +POSTHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_avro_array_of_primitives ( + list_of_ints ARRAY<INT> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_avro_array_of_primitives +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/AvroPrimitiveInList.parquet' +OVERWRITE INTO TABLE parquet_avro_array_of_primitives +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_avro_array_of_primitives +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/AvroPrimitiveInList.parquet' +OVERWRITE INTO TABLE parquet_avro_array_of_primitives +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_avro_array_of_primitives +PREHOOK: query: SELECT * FROM parquet_avro_array_of_primitives +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_avro_array_of_primitives +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_avro_array_of_primitives +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_avro_array_of_primitives +#### A masked pattern was here #### +[34,35,36] +PREHOOK: query: DROP TABLE parquet_avro_array_of_primitives +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_avro_array_of_primitives +PREHOOK: Output: default@parquet_avro_array_of_primitives +POSTHOOK: query: DROP TABLE parquet_avro_array_of_primitives +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_avro_array_of_primitives +POSTHOOK: Output: default@parquet_avro_array_of_primitives Added: hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_single_field_struct.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_single_field_struct.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_single_field_struct.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_avro_array_of_single_field_struct.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,45 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of single-field structs +-- as written by parquet-avro + +CREATE TABLE parquet_avro_array_of_single_field_structs ( + single_element_groups ARRAY<STRUCT<count: BIGINT>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_avro_array_of_single_field_structs +POSTHOOK: query: -- this test creates a Parquet table with an array of single-field structs +-- as written by parquet-avro + +CREATE TABLE parquet_avro_array_of_single_field_structs ( + single_element_groups ARRAY<STRUCT<count: BIGINT>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_avro_array_of_single_field_structs +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/AvroSingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_avro_array_of_single_field_structs +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_avro_array_of_single_field_structs +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/AvroSingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_avro_array_of_single_field_structs +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_avro_array_of_single_field_structs +PREHOOK: query: SELECT * FROM parquet_avro_array_of_single_field_structs +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_avro_array_of_single_field_structs +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_avro_array_of_single_field_structs +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_avro_array_of_single_field_structs +#### A masked pattern was here #### +[{"count":1234},{"count":2345}] +PREHOOK: query: DROP TABLE parquet_avro_array_of_single_field_structs +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_avro_array_of_single_field_structs +PREHOOK: Output: default@parquet_avro_array_of_single_field_structs +POSTHOOK: query: DROP TABLE parquet_avro_array_of_single_field_structs +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_avro_array_of_single_field_structs +POSTHOOK: Output: default@parquet_avro_array_of_single_field_structs Added: hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_nested_complex.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,106 @@ +PREHOOK: query: -- start with the original nestedcomplex test + +create table nestedcomplex ( +simple_int int, +max_nested_array array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<int>>>>>>>>>>>>>>>>>>>>>>>, +max_nested_map array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<map<string,string>>>>>>>>>>>>>>>>>>>>>>, +max_nested_struct array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<struct<s:string, i:bigint>>>>>>>>>>>>>>>>>>>>>>>, +simple_string string) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( + 'hive.serialization.extend.nesting.levels'='true', + 'line.delim'='\n' +) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@nestedcomplex +POSTHOOK: query: -- start with the original nestedcomplex test + +create table nestedcomplex ( +simple_int int, +max_nested_array array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<int>>>>>>>>>>>>>>>>>>>>>>>, +max_nested_map array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<map<string,string>>>>>>>>>>>>>>>>>>>>>>, +max_nested_struct array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<struct<s:string, i:bigint>>>>>>>>>>>>>>>>>>>>>>>, +simple_string string) +ROW FORMAT SERDE + 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( + 'hive.serialization.extend.nesting.levels'='true', + 'line.delim'='\n' +) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@nestedcomplex +PREHOOK: query: describe nestedcomplex +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@nestedcomplex +POSTHOOK: query: describe nestedcomplex +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@nestedcomplex +simple_int int +max_nested_array array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<int>>>>>>>>>>>>>>>>>>>>>>> +max_nested_map array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<map<string,string>>>>>>>>>>>>>>>>>>>>>> +max_nested_struct array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<struct<s:string,i:bigint>>>>>>>>>>>>>>>>>>>>>>> +simple_string string +PREHOOK: query: describe extended nestedcomplex +PREHOOK: type: DESCTABLE +PREHOOK: Input: default@nestedcomplex +POSTHOOK: query: describe extended nestedcomplex +POSTHOOK: type: DESCTABLE +POSTHOOK: Input: default@nestedcomplex +simple_int int +max_nested_array array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<int>>>>>>>>>>>>>>>>>>>>>>> +max_nested_map array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<map<string,string>>>>>>>>>>>>>>>>>>>>>> +max_nested_struct array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<array<struct<s:string,i:bigint>>>>>>>>>>>>>>>>>>>>>>> +simple_string string + +#### A masked pattern was here #### +PREHOOK: query: load data local inpath '../../data/files/nested_complex.txt' overwrite into table nestedcomplex +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@nestedcomplex +POSTHOOK: query: load data local inpath '../../data/files/nested_complex.txt' overwrite into table nestedcomplex +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@nestedcomplex +PREHOOK: query: -- and load the table into Parquet + +CREATE TABLE parquet_nested_complex STORED AS PARQUET AS SELECT * FROM nestedcomplex +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@nestedcomplex +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_nested_complex +POSTHOOK: query: -- and load the table into Parquet + +CREATE TABLE parquet_nested_complex STORED AS PARQUET AS SELECT * FROM nestedcomplex +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@nestedcomplex +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_nested_complex +PREHOOK: query: SELECT * FROM parquet_nested_complex SORT BY simple_int +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_nested_complex +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_nested_complex SORT BY simple_int +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_nested_complex +#### A masked pattern was here #### +2 [[[[[[[[[[[[[[[[[[[[[[[0,3,2]]]]]]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[{"k3":"v3","k1":"v1"}]]]]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[[{"s":"b","i":10}]]]]]]]]]]]]]]]]]]]]]] 2 +3 [[[[[[[[[[[[[[[[[[[[[[[0,1,2]]]]]]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[{"k2":"v2","k1":"v1"}]]]]]]]]]]]]]]]]]]]]] [[[[[[[[[[[[[[[[[[[[[[{"s":"a","i":10}]]]]]]]]]]]]]]]]]]]]]] 2 +PREHOOK: query: DROP TABLE nestedcomplex +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@nestedcomplex +PREHOOK: Output: default@nestedcomplex +POSTHOOK: query: DROP TABLE nestedcomplex +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@nestedcomplex +POSTHOOK: Output: default@nestedcomplex +PREHOOK: query: DROP TABLE parquet_nested_complex +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_nested_complex +PREHOOK: Output: default@parquet_nested_complex +POSTHOOK: query: DROP TABLE parquet_nested_complex +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_nested_complex +POSTHOOK: Output: default@parquet_nested_complex Added: hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_primitives.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_primitives.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_primitives.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_primitives.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,43 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_thrift_array_of_primitives ( + list_of_ints ARRAY<INT> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_thrift_array_of_primitives +POSTHOOK: query: -- this test creates a Parquet table with an array of structs + +CREATE TABLE parquet_thrift_array_of_primitives ( + list_of_ints ARRAY<INT> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_thrift_array_of_primitives +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/ThriftPrimitiveInList.parquet' +OVERWRITE INTO TABLE parquet_thrift_array_of_primitives +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_thrift_array_of_primitives +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/ThriftPrimitiveInList.parquet' +OVERWRITE INTO TABLE parquet_thrift_array_of_primitives +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_thrift_array_of_primitives +PREHOOK: query: SELECT * FROM parquet_thrift_array_of_primitives +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_thrift_array_of_primitives +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_thrift_array_of_primitives +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_thrift_array_of_primitives +#### A masked pattern was here #### +[34,35,36] +PREHOOK: query: DROP TABLE parquet_thrift_array_of_primitives +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_thrift_array_of_primitives +PREHOOK: Output: default@parquet_thrift_array_of_primitives +POSTHOOK: query: DROP TABLE parquet_thrift_array_of_primitives +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_thrift_array_of_primitives +POSTHOOK: Output: default@parquet_thrift_array_of_primitives Added: hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_single_field_struct.q.out URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_single_field_struct.q.out?rev=1641233&view=auto ============================================================================== --- hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_single_field_struct.q.out (added) +++ hive/trunk/ql/src/test/results/clientpositive/parquet_thrift_array_of_single_field_struct.q.out Sun Nov 23 17:54:38 2014 @@ -0,0 +1,45 @@ +PREHOOK: query: -- this test creates a Parquet table with an array of single-field structs +-- as written by parquet-thrift + +CREATE TABLE parquet_thrift_array_of_single_field_structs ( + single_element_groups ARRAY<STRUCT<count: BIGINT>> +) STORED AS PARQUET +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@parquet_thrift_array_of_single_field_structs +POSTHOOK: query: -- this test creates a Parquet table with an array of single-field structs +-- as written by parquet-thrift + +CREATE TABLE parquet_thrift_array_of_single_field_structs ( + single_element_groups ARRAY<STRUCT<count: BIGINT>> +) STORED AS PARQUET +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@parquet_thrift_array_of_single_field_structs +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/ThriftSingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_thrift_array_of_single_field_structs +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@parquet_thrift_array_of_single_field_structs +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/ThriftSingleFieldGroupInList.parquet' +OVERWRITE INTO TABLE parquet_thrift_array_of_single_field_structs +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@parquet_thrift_array_of_single_field_structs +PREHOOK: query: SELECT * FROM parquet_thrift_array_of_single_field_structs +PREHOOK: type: QUERY +PREHOOK: Input: default@parquet_thrift_array_of_single_field_structs +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM parquet_thrift_array_of_single_field_structs +POSTHOOK: type: QUERY +POSTHOOK: Input: default@parquet_thrift_array_of_single_field_structs +#### A masked pattern was here #### +[{"count":1234},{"count":2345}] +PREHOOK: query: DROP TABLE parquet_thrift_array_of_single_field_structs +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@parquet_thrift_array_of_single_field_structs +PREHOOK: Output: default@parquet_thrift_array_of_single_field_structs +POSTHOOK: query: DROP TABLE parquet_thrift_array_of_single_field_structs +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@parquet_thrift_array_of_single_field_structs +POSTHOOK: Output: default@parquet_thrift_array_of_single_field_structs
