HIVE-11696: Exception when table-level serde is Parquet while partition-level 
serde is JSON (Aihua Xu, reviewed by Chao Sun)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d94c0f65
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d94c0f65
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d94c0f65

Branch: refs/heads/spark
Commit: d94c0f65d85d1a0c6b31a75ecf1d1b805d823a32
Parents: d51c62a
Author: Chao Sun <sunc...@apache.org>
Authored: Wed Sep 9 12:56:24 2015 -0700
Committer: Chao Sun <sunc...@apache.org>
Committed: Wed Sep 9 12:56:45 2015 -0700

----------------------------------------------------------------------
 .../serde/ParquetHiveArrayInspector.java        |  12 +
 .../parquet_mixed_partition_formats.q           |  42 +++
 .../parquet_mixed_partition_formats.q.out       | 303 +++++++++++++++++++
 3 files changed, 357 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/d94c0f65/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveArrayInspector.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveArrayInspector.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveArrayInspector.java
index bde0dcb..05e92b5 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveArrayInspector.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveArrayInspector.java
@@ -68,6 +68,10 @@ public class ParquetHiveArrayInspector implements 
SettableListObjectInspector {
       }
     }
 
+    if (data instanceof List) {
+      return ((List)data).get(index);
+    }
+
     throw new UnsupportedOperationException("Cannot inspect " + 
data.getClass().getCanonicalName());
   }
 
@@ -86,6 +90,10 @@ public class ParquetHiveArrayInspector implements 
SettableListObjectInspector {
       return array.length;
     }
 
+    if (data instanceof List) {
+      return ((List)data).size();
+    }
+
     throw new UnsupportedOperationException("Cannot inspect " + 
data.getClass().getCanonicalName());
   }
 
@@ -109,6 +117,10 @@ public class ParquetHiveArrayInspector implements 
SettableListObjectInspector {
       return list;
     }
 
+    if (data instanceof List) {
+      return (List<?>)data;
+    }
+
     throw new UnsupportedOperationException("Cannot inspect " + 
data.getClass().getCanonicalName());
   }
 

http://git-wip-us.apache.org/repos/asf/hive/blob/d94c0f65/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q
----------------------------------------------------------------------
diff --git 
a/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q 
b/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q
new file mode 100644
index 0000000..4d7d088
--- /dev/null
+++ b/ql/src/test/queries/clientpositive/parquet_mixed_partition_formats.q
@@ -0,0 +1,42 @@
+DROP TABLE if exists parquet_mixed_partition_formats;
+
+CREATE TABLE parquet_mixed_partition_formats (
+  cint int,
+  ctinyint tinyint,
+  csmallint smallint,
+  cfloat float,
+  cdouble double,
+  cstring1 string,
+  t timestamp,
+  cchar char(5),
+  cvarchar varchar(10),
+  cbinary string,
+  m1 map<string, varchar(3)>,
+  l1 array<int>,
+  st1 struct<c1:int, c2:char(1)>,
+  d date)
+PARTITIONED BY (dateint int)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+COLLECTION ITEMS TERMINATED BY ','
+MAP KEYS TERMINATED BY ':';
+
+---- partition dateint=20140330 is stored as TEXTFILE
+LOAD DATA LOCAL INPATH '../../data/files/parquet_types.txt' OVERWRITE INTO 
TABLE parquet_mixed_partition_formats PARTITION (dateint=20140330);
+
+SELECT * FROM parquet_mixed_partition_formats;
+
+DESCRIBE FORMATTED parquet_mixed_partition_formats PARTITION 
(dateint=20140330);
+
+---change table serde and file format to PARQUET----
+
+ALTER TABLE parquet_mixed_partition_formats
+     SET FILEFORMAT
+     INPUTFORMAT 
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
+     OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
+     SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe';
+
+DESCRIBE FORMATTED parquet_mixed_partition_formats;
+DESCRIBE FORMATTED parquet_mixed_partition_formats PARTITION 
(dateint=20140330);
+
+SELECT * FROM parquet_mixed_partition_formats;

http://git-wip-us.apache.org/repos/asf/hive/blob/d94c0f65/ql/src/test/results/clientpositive/parquet_mixed_partition_formats.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/parquet_mixed_partition_formats.q.out 
b/ql/src/test/results/clientpositive/parquet_mixed_partition_formats.q.out
new file mode 100644
index 0000000..a412350
--- /dev/null
+++ b/ql/src/test/results/clientpositive/parquet_mixed_partition_formats.q.out
@@ -0,0 +1,303 @@
+PREHOOK: query: DROP TABLE if exists parquet_mixed_partition_formats
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE if exists parquet_mixed_partition_formats
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE parquet_mixed_partition_formats (
+  cint int,
+  ctinyint tinyint,
+  csmallint smallint,
+  cfloat float,
+  cdouble double,
+  cstring1 string,
+  t timestamp,
+  cchar char(5),
+  cvarchar varchar(10),
+  cbinary string,
+  m1 map<string, varchar(3)>,
+  l1 array<int>,
+  st1 struct<c1:int, c2:char(1)>,
+  d date)
+PARTITIONED BY (dateint int)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+COLLECTION ITEMS TERMINATED BY ','
+MAP KEYS TERMINATED BY ':'
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@parquet_mixed_partition_formats
+POSTHOOK: query: CREATE TABLE parquet_mixed_partition_formats (
+  cint int,
+  ctinyint tinyint,
+  csmallint smallint,
+  cfloat float,
+  cdouble double,
+  cstring1 string,
+  t timestamp,
+  cchar char(5),
+  cvarchar varchar(10),
+  cbinary string,
+  m1 map<string, varchar(3)>,
+  l1 array<int>,
+  st1 struct<c1:int, c2:char(1)>,
+  d date)
+PARTITIONED BY (dateint int)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '|'
+COLLECTION ITEMS TERMINATED BY ','
+MAP KEYS TERMINATED BY ':'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@parquet_mixed_partition_formats
+PREHOOK: query: ---- partition dateint=20140330 is stored as TEXTFILE
+LOAD DATA LOCAL INPATH '../../data/files/parquet_types.txt' OVERWRITE INTO 
TABLE parquet_mixed_partition_formats PARTITION (dateint=20140330)
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@parquet_mixed_partition_formats
+POSTHOOK: query: ---- partition dateint=20140330 is stored as TEXTFILE
+LOAD DATA LOCAL INPATH '../../data/files/parquet_types.txt' OVERWRITE INTO 
TABLE parquet_mixed_partition_formats PARTITION (dateint=20140330)
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@parquet_mixed_partition_formats
+POSTHOOK: Output: default@parquet_mixed_partition_formats@dateint=20140330
+PREHOOK: query: SELECT * FROM parquet_mixed_partition_formats
+PREHOOK: type: QUERY
+PREHOOK: Input: default@parquet_mixed_partition_formats
+PREHOOK: Input: default@parquet_mixed_partition_formats@dateint=20140330
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM parquet_mixed_partition_formats
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@parquet_mixed_partition_formats
+POSTHOOK: Input: default@parquet_mixed_partition_formats@dateint=20140330
+#### A masked pattern was here ####
+100    1       1       1.0     0.0     abc     2011-01-01 01:01:01.111111111   
a       a       B4F3CAFDBEDD    {"k1":"v1"}     [101,200]       
{"c1":10,"c2":"a"}      2011-01-01      20140330
+101    2       2       1.1     0.3     def     2012-02-02 02:02:02.222222222   
ab      ab      68692CCAC0BDE7  {"k2":"v2"}     [102,200]       
{"c1":10,"c2":"d"}      2012-02-02      20140330
+102    3       3       1.2     0.6     ghi     2013-03-03 03:03:03.333333333   
abc     abc     B4F3CAFDBEDD    {"k3":"v3"}     [103,200]       
{"c1":10,"c2":"g"}      2013-03-03      20140330
+103    1       4       1.3     0.9     jkl     2014-04-04 04:04:04.444444444   
abcd    abcd    68692CCAC0BDE7  {"k4":"v4"}     [104,200]       
{"c1":10,"c2":"j"}      2014-04-04      20140330
+104    2       5       1.4     1.2     mno     2015-05-05 05:05:05.555555555   
abcde   abcde   B4F3CAFDBEDD    {"k5":"v5"}     [105,200]       
{"c1":10,"c2":"m"}      2015-05-05      20140330
+105    3       1       1.0     1.5     pqr     2016-06-06 06:06:06.666666666   
abcde   abcdef  68692CCAC0BDE7  {"k6":"v6"}     [106,200]       
{"c1":10,"c2":"p"}      2016-06-06      20140330
+106    1       2       1.1     1.8     stu     2017-07-07 07:07:07.777777777   
abcde   abcdefg B4F3CAFDBEDD    {"k7":"v7"}     [107,200]       
{"c1":10,"c2":"s"}      2017-07-07      20140330
+107    2       3       1.2     2.1     vwx     2018-08-08 08:08:08.888888888   
bcdef   abcdefgh        68692CCAC0BDE7  {"k8":"v8"}     [108,200]       
{"c1":10,"c2":"v"}      2018-08-08      20140330
+108    3       4       1.3     2.4     yza     2019-09-09 09:09:09.999999999   
cdefg   B4F3CAFDBE      68656C6C6F      {"k9":"v9"}     [109,200]       
{"c1":10,"c2":"y"}      2019-09-09      20140330
+109    1       5       1.4     2.7     bcd     2020-10-10 10:10:10.101010101   
klmno   abcdedef        68692CCAC0BDE7  {"k10":"v10"}   [110,200]       
{"c1":10,"c2":"b"}      2020-10-10      20140330
+110    2       1       1.0     3.0     efg     2021-11-11 11:11:11.111111111   
pqrst   abcdede B4F3CAFDBEDD    {"k11":"v11"}   [111,200]       
{"c1":10,"c2":"e"}      2021-11-11      20140330
+111    3       2       1.1     3.3     hij     2022-12-12 12:12:12.121212121   
nopqr   abcded  68692CCAC0BDE7  {"k12":"v12"}   [112,200]       
{"c1":10,"c2":"h"}      2022-12-12      20140330
+112    1       3       1.2     3.6     klm     2023-01-02 13:13:13.131313131   
opqrs   abcdd   B4F3CAFDBEDD    {"k13":"v13"}   [113,200]       
{"c1":10,"c2":"k"}      2023-01-02      20140330
+113    2       4       1.3     3.9     nop     2024-02-02 14:14:14.141414141   
pqrst   abc     68692CCAC0BDE7  {"k14":"v14"}   [114,200]       
{"c1":10,"c2":"n"}      2024-02-02      20140330
+114    3       5       1.4     4.2     qrs     2025-03-03 15:15:15.151515151   
qrstu   b       B4F3CAFDBEDD    {"k15":"v15"}   [115,200]       
{"c1":10,"c2":"q"}      2025-03-03      20140330
+115    1       1       1.0     4.5     qrs     2026-04-04 16:16:16.161616161   
rstuv   abcded  68692CCAC0BDE7  {"k16":"v16"}   [116,200]       
{"c1":10,"c2":"q"}      2026-04-04      20140330
+116    2       2       1.1     4.8     wxy     2027-05-05 17:17:17.171717171   
stuvw   abcded  B4F3CAFDBEDD    {"k17":"v17"}   [117,200]       
{"c1":10,"c2":"w"}      2027-05-05      20140330
+117    3       3       1.2     5.1     zab     2028-06-06 18:18:18.181818181   
tuvwx   abcded  68692CCAC0BDE7  {"k18":"v18"}   [118,200]       
{"c1":10,"c2":"z"}      2028-06-06      20140330
+118    1       4       1.3     5.4     cde     2029-07-07 19:19:19.191919191   
uvwzy   abcdede B4F3CAFDBEDD    {"k19":"v19"}   [119,200]       
{"c1":10,"c2":"c"}      2029-07-07      20140330
+119    2       5       1.4     5.7     fgh     2030-08-08 20:20:20.202020202   
vwxyz   abcdede 68692CCAC0BDE7  {"k20":"v20"}   [120,200]       
{"c1":10,"c2":"f"}      2030-08-08      20140330
+120    3       1       1.0     6.0     ijk     2031-09-09 21:21:21.212121212   
wxyza   abcde   B4F3CAFDBEDD    {"k21":"v21"}   [121,200]       
{"c1":10,"c2":"i"}      2031-09-09      20140330
+121    1       2       1.1     6.3     lmn     2032-10-10 22:22:22.222222222   
bcdef   abcde           {"k22":"v22"}   [122,200]       {"c1":10,"c2":"l"}      
2032-10-10      20140330
+PREHOOK: query: DESCRIBE FORMATTED parquet_mixed_partition_formats PARTITION 
(dateint=20140330)
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@parquet_mixed_partition_formats
+POSTHOOK: query: DESCRIBE FORMATTED parquet_mixed_partition_formats PARTITION 
(dateint=20140330)
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@parquet_mixed_partition_formats
+# col_name             data_type               comment             
+                
+cint                   int                                         
+ctinyint               tinyint                                     
+csmallint              smallint                                    
+cfloat                 float                                       
+cdouble                double                                      
+cstring1               string                                      
+t                      timestamp                                   
+cchar                  char(5)                                     
+cvarchar               varchar(10)                                 
+cbinary                string                                      
+m1                     map<string,varchar(3)>                      
+l1                     array<int>                                  
+st1                    struct<c1:int,c2:char(1)>                           
+d                      date                                        
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+dateint                int                                         
+                
+# Detailed Partition Information                
+Partition Value:       [20140330]               
+Database:              default                  
+Table:                 parquet_mixed_partition_formats  
+#### A masked pattern was here ####
+Partition Parameters:           
+       COLUMN_STATS_ACCURATE   true                
+       numFiles                1                   
+       numRows                 0                   
+       rawDataSize             0                   
+       totalSize               2521                
+#### A masked pattern was here ####
+                
+# 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:            
+       colelction.delim        ,                   
+       field.delim             |                   
+       mapkey.delim            :                   
+       serialization.format    |                   
+PREHOOK: query: ---change table serde and file format to PARQUET----
+
+ALTER TABLE parquet_mixed_partition_formats
+     SET FILEFORMAT
+     INPUTFORMAT 
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
+     OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
+     SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
+PREHOOK: type: ALTERTABLE_FILEFORMAT
+PREHOOK: Input: default@parquet_mixed_partition_formats
+PREHOOK: Output: default@parquet_mixed_partition_formats
+POSTHOOK: query: ---change table serde and file format to PARQUET----
+
+ALTER TABLE parquet_mixed_partition_formats
+     SET FILEFORMAT
+     INPUTFORMAT 
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
+     OUTPUTFORMAT 
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
+     SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
+POSTHOOK: type: ALTERTABLE_FILEFORMAT
+POSTHOOK: Input: default@parquet_mixed_partition_formats
+POSTHOOK: Output: default@parquet_mixed_partition_formats
+PREHOOK: query: DESCRIBE FORMATTED parquet_mixed_partition_formats
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@parquet_mixed_partition_formats
+POSTHOOK: query: DESCRIBE FORMATTED parquet_mixed_partition_formats
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@parquet_mixed_partition_formats
+# col_name             data_type               comment             
+                
+cint                   int                                         
+ctinyint               tinyint                                     
+csmallint              smallint                                    
+cfloat                 float                                       
+cdouble                double                                      
+cstring1               string                                      
+t                      timestamp                                   
+cchar                  char(5)                                     
+cvarchar               varchar(10)                                 
+cbinary                string                                      
+m1                     map<string,varchar(3)>                      
+l1                     array<int>                                  
+st1                    struct<c1:int,c2:char(1)>                           
+d                      date                                        
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+dateint                int                                         
+                
+# Detailed Table Information            
+Database:              default                  
+#### A masked pattern was here ####
+Retention:             0                        
+#### A masked pattern was here ####
+Table Type:            MANAGED_TABLE            
+Table Parameters:               
+#### A masked pattern was here ####
+                
+# Storage Information           
+SerDe Library:         
org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe      
+InputFormat:           
org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat    
+OutputFormat:          
org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat   
+Compressed:            No                       
+Num Buckets:           -1                       
+Bucket Columns:        []                       
+Sort Columns:          []                       
+Storage Desc Params:            
+       colelction.delim        ,                   
+       field.delim             |                   
+       mapkey.delim            :                   
+       serialization.format    |                   
+PREHOOK: query: DESCRIBE FORMATTED parquet_mixed_partition_formats PARTITION 
(dateint=20140330)
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@parquet_mixed_partition_formats
+POSTHOOK: query: DESCRIBE FORMATTED parquet_mixed_partition_formats PARTITION 
(dateint=20140330)
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@parquet_mixed_partition_formats
+# col_name             data_type               comment             
+                
+cint                   int                                         
+ctinyint               tinyint                                     
+csmallint              smallint                                    
+cfloat                 float                                       
+cdouble                double                                      
+cstring1               string                                      
+t                      timestamp                                   
+cchar                  char(5)                                     
+cvarchar               varchar(10)                                 
+cbinary                string                                      
+m1                     map<string,varchar(3)>                      
+l1                     array<int>                                  
+st1                    struct<c1:int,c2:char(1)>                           
+d                      date                                        
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+dateint                int                                         
+                
+# Detailed Partition Information                
+Partition Value:       [20140330]               
+Database:              default                  
+Table:                 parquet_mixed_partition_formats  
+#### A masked pattern was here ####
+Partition Parameters:           
+       COLUMN_STATS_ACCURATE   true                
+       numFiles                1                   
+       numRows                 0                   
+       rawDataSize             0                   
+       totalSize               2521                
+#### A masked pattern was here ####
+                
+# 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:            
+       colelction.delim        ,                   
+       field.delim             |                   
+       mapkey.delim            :                   
+       serialization.format    |                   
+PREHOOK: query: SELECT * FROM parquet_mixed_partition_formats
+PREHOOK: type: QUERY
+PREHOOK: Input: default@parquet_mixed_partition_formats
+PREHOOK: Input: default@parquet_mixed_partition_formats@dateint=20140330
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM parquet_mixed_partition_formats
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@parquet_mixed_partition_formats
+POSTHOOK: Input: default@parquet_mixed_partition_formats@dateint=20140330
+#### A masked pattern was here ####
+100    1       1       1.0     0.0     abc     2011-01-01 01:01:01.111111111   
a       a       B4F3CAFDBEDD    {"k1":"v1"}     [101,200]       
{"c1":10,"c2":"a"}      2011-01-01      20140330
+101    2       2       1.1     0.3     def     2012-02-02 02:02:02.222222222   
ab      ab      68692CCAC0BDE7  {"k2":"v2"}     [102,200]       
{"c1":10,"c2":"d"}      2012-02-02      20140330
+102    3       3       1.2     0.6     ghi     2013-03-03 03:03:03.333333333   
abc     abc     B4F3CAFDBEDD    {"k3":"v3"}     [103,200]       
{"c1":10,"c2":"g"}      2013-03-03      20140330
+103    1       4       1.3     0.9     jkl     2014-04-04 04:04:04.444444444   
abcd    abcd    68692CCAC0BDE7  {"k4":"v4"}     [104,200]       
{"c1":10,"c2":"j"}      2014-04-04      20140330
+104    2       5       1.4     1.2     mno     2015-05-05 05:05:05.555555555   
abcde   abcde   B4F3CAFDBEDD    {"k5":"v5"}     [105,200]       
{"c1":10,"c2":"m"}      2015-05-05      20140330
+105    3       1       1.0     1.5     pqr     2016-06-06 06:06:06.666666666   
abcde   abcdef  68692CCAC0BDE7  {"k6":"v6"}     [106,200]       
{"c1":10,"c2":"p"}      2016-06-06      20140330
+106    1       2       1.1     1.8     stu     2017-07-07 07:07:07.777777777   
abcde   abcdefg B4F3CAFDBEDD    {"k7":"v7"}     [107,200]       
{"c1":10,"c2":"s"}      2017-07-07      20140330
+107    2       3       1.2     2.1     vwx     2018-08-08 08:08:08.888888888   
bcdef   abcdefgh        68692CCAC0BDE7  {"k8":"v8"}     [108,200]       
{"c1":10,"c2":"v"}      2018-08-08      20140330
+108    3       4       1.3     2.4     yza     2019-09-09 09:09:09.999999999   
cdefg   B4F3CAFDBE      68656C6C6F      {"k9":"v9"}     [109,200]       
{"c1":10,"c2":"y"}      2019-09-09      20140330
+109    1       5       1.4     2.7     bcd     2020-10-10 10:10:10.101010101   
klmno   abcdedef        68692CCAC0BDE7  {"k10":"v10"}   [110,200]       
{"c1":10,"c2":"b"}      2020-10-10      20140330
+110    2       1       1.0     3.0     efg     2021-11-11 11:11:11.111111111   
pqrst   abcdede B4F3CAFDBEDD    {"k11":"v11"}   [111,200]       
{"c1":10,"c2":"e"}      2021-11-11      20140330
+111    3       2       1.1     3.3     hij     2022-12-12 12:12:12.121212121   
nopqr   abcded  68692CCAC0BDE7  {"k12":"v12"}   [112,200]       
{"c1":10,"c2":"h"}      2022-12-12      20140330
+112    1       3       1.2     3.6     klm     2023-01-02 13:13:13.131313131   
opqrs   abcdd   B4F3CAFDBEDD    {"k13":"v13"}   [113,200]       
{"c1":10,"c2":"k"}      2023-01-02      20140330
+113    2       4       1.3     3.9     nop     2024-02-02 14:14:14.141414141   
pqrst   abc     68692CCAC0BDE7  {"k14":"v14"}   [114,200]       
{"c1":10,"c2":"n"}      2024-02-02      20140330
+114    3       5       1.4     4.2     qrs     2025-03-03 15:15:15.151515151   
qrstu   b       B4F3CAFDBEDD    {"k15":"v15"}   [115,200]       
{"c1":10,"c2":"q"}      2025-03-03      20140330
+115    1       1       1.0     4.5     qrs     2026-04-04 16:16:16.161616161   
rstuv   abcded  68692CCAC0BDE7  {"k16":"v16"}   [116,200]       
{"c1":10,"c2":"q"}      2026-04-04      20140330
+116    2       2       1.1     4.8     wxy     2027-05-05 17:17:17.171717171   
stuvw   abcded  B4F3CAFDBEDD    {"k17":"v17"}   [117,200]       
{"c1":10,"c2":"w"}      2027-05-05      20140330
+117    3       3       1.2     5.1     zab     2028-06-06 18:18:18.181818181   
tuvwx   abcded  68692CCAC0BDE7  {"k18":"v18"}   [118,200]       
{"c1":10,"c2":"z"}      2028-06-06      20140330
+118    1       4       1.3     5.4     cde     2029-07-07 19:19:19.191919191   
uvwzy   abcdede B4F3CAFDBEDD    {"k19":"v19"}   [119,200]       
{"c1":10,"c2":"c"}      2029-07-07      20140330
+119    2       5       1.4     5.7     fgh     2030-08-08 20:20:20.202020202   
vwxyz   abcdede 68692CCAC0BDE7  {"k20":"v20"}   [120,200]       
{"c1":10,"c2":"f"}      2030-08-08      20140330
+120    3       1       1.0     6.0     ijk     2031-09-09 21:21:21.212121212   
wxyza   abcde   B4F3CAFDBEDD    {"k21":"v21"}   [121,200]       
{"c1":10,"c2":"i"}      2031-09-09      20140330
+121    1       2       1.1     6.3     lmn     2032-10-10 22:22:22.222222222   
bcdef   abcde           {"k22":"v22"}   [122,200]       {"c1":10,"c2":"l"}      
2032-10-10      20140330

Reply via email to