You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/04/30 00:09:16 UTC
svn commit: r1477372 - in /hive/branches/branch-0.11: data/files/
ql/src/java/org/apache/hadoop/hive/ql/parse/
ql/src/java/org/apache/hadoop/hive/ql/plan/
ql/src/test/queries/clientpositive/ ql/src/test/results/clientpositive/
Author: hashutosh
Date: Mon Apr 29 22:09:16 2013
New Revision: 1477372
URL: http://svn.apache.org/r1477372
Log:
HIVE-3682 : when output hive table to file,users should could have a separator of their own choice (Sushanth Sowmyan via Ashutosh Chauhan)
Added:
hive/branches/branch-0.11/data/files/array_table.txt
hive/branches/branch-0.11/data/files/map_table.txt
hive/branches/branch-0.11/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q
hive/branches/branch-0.11/ql/src/test/results/clientpositive/insert_overwrite_local_directory_1.q.out
Modified:
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
Added: hive/branches/branch-0.11/data/files/array_table.txt
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/data/files/array_table.txt?rev=1477372&view=auto
==============================================================================
--- hive/branches/branch-0.11/data/files/array_table.txt (added)
+++ hive/branches/branch-0.11/data/files/array_table.txt Mon Apr 29 22:09:16 2013
@@ -0,0 +1,2 @@
+a1,a2,a3 b1,b2,b3,b4
+a21,a22,a23 b21,b22,b23,b24
Added: hive/branches/branch-0.11/data/files/map_table.txt
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/data/files/map_table.txt?rev=1477372&view=auto
==============================================================================
--- hive/branches/branch-0.11/data/files/map_table.txt (added)
+++ hive/branches/branch-0.11/data/files/map_table.txt Mon Apr 29 22:09:16 2013
@@ -0,0 +1,2 @@
+foo1 k1:v1,k2:v2,k3:v3
+foo2 k21:v21,k22:v22,k31:v31
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g?rev=1477372&r1=1477371&r2=1477372&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g Mon Apr 29 22:09:16 2013
@@ -1867,7 +1867,7 @@ destination
@init { msgs.push("destination specification"); }
@after { msgs.pop(); }
:
- KW_LOCAL KW_DIRECTORY StringLiteral -> ^(TOK_LOCAL_DIR StringLiteral)
+ KW_LOCAL KW_DIRECTORY StringLiteral tableRowFormat? tableFileFormat? -> ^(TOK_LOCAL_DIR StringLiteral tableRowFormat? tableFileFormat?)
| KW_DIRECTORY StringLiteral -> ^(TOK_DIR StringLiteral)
| KW_TABLE tableOrPartition -> tableOrPartition
;
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java?rev=1477372&r1=1477371&r2=1477372&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java Mon Apr 29 22:09:16 2013
@@ -51,6 +51,7 @@ public class QB {
private boolean isQuery;
private boolean isAnalyzeRewrite;
private CreateTableDesc tblDesc = null; // table descriptor of the final
+ private CreateTableDesc localDirectoryDesc = null ;
// used by PTFs
/*
@@ -227,6 +228,14 @@ public class QB {
tblDesc = desc;
}
+ public CreateTableDesc getLLocalDirectoryDesc() {
+ return localDirectoryDesc;
+ }
+
+ public void setLocalDirectoryDesc(CreateTableDesc localDirectoryDesc) {
+ this.localDirectoryDesc = localDirectoryDesc;
+ }
+
/**
* Whether this QB is for a CREATE-TABLE-AS-SELECT.
*/
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1477372&r1=1477371&r2=1477372&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Mon Apr 29 22:09:16 2013
@@ -1186,6 +1186,10 @@ public class SemanticAnalyzer extends Ba
}
}
+ RowFormatParams rowFormatParams = new RowFormatParams();
+ AnalyzeCreateCommonVars shared = new AnalyzeCreateCommonVars();
+ StorageFormat storageFormat = new StorageFormat();
+
LOG.info("Get metadata for destination tables");
// Go over all the destination structures and populate the related
// metadata
@@ -1273,6 +1277,45 @@ public class SemanticAnalyzer extends Ba
}
qb.getMetaData().setDestForAlias(name, fname,
(ast.getToken().getType() == HiveParser.TOK_DIR));
+
+ CreateTableDesc localDirectoryDesc = new CreateTableDesc();
+ boolean localDirectoryDescIsSet = false;
+ int numCh = ast.getChildCount();
+ for (int num = 1; num < numCh ; num++){
+ ASTNode child = (ASTNode) ast.getChild(num);
+ if (ast.getChild(num) != null){
+ switch (child.getToken().getType()) {
+ case HiveParser.TOK_TABLEROWFORMAT:
+ rowFormatParams.analyzeRowFormat(shared, child);
+ localDirectoryDesc.setFieldDelim(rowFormatParams.fieldDelim);
+ localDirectoryDesc.setLineDelim(rowFormatParams.lineDelim);
+ localDirectoryDesc.setCollItemDelim(rowFormatParams.collItemDelim);
+ localDirectoryDesc.setMapKeyDelim(rowFormatParams.mapKeyDelim);
+ localDirectoryDesc.setFieldEscape(rowFormatParams.fieldEscape);
+ localDirectoryDescIsSet=true;
+ break;
+ case HiveParser.TOK_TABLESERIALIZER:
+ ASTNode serdeChild = (ASTNode) child.getChild(0);
+ shared.serde = unescapeSQLString(serdeChild.getChild(0).getText());
+ localDirectoryDesc.setSerName(shared.serde);
+ localDirectoryDescIsSet=true;
+ break;
+ case HiveParser.TOK_TBLSEQUENCEFILE:
+ case HiveParser.TOK_TBLTEXTFILE:
+ case HiveParser.TOK_TBLRCFILE:
+ case HiveParser.TOK_TBLORCFILE:
+ case HiveParser.TOK_TABLEFILEFORMAT:
+ storageFormat.fillStorageFormat(child, shared);
+ localDirectoryDesc.setOutputFormat(storageFormat.outputFormat);
+ localDirectoryDesc.setSerName(shared.serde);
+ localDirectoryDescIsSet=true;
+ break;
+ }
+ }
+ }
+ if (localDirectoryDescIsSet){
+ qb.setLocalDirectoryDesc(localDirectoryDesc);
+ }
break;
}
default:
@@ -5170,8 +5213,7 @@ public class SemanticAnalyzer extends Ba
String fileFormat = HiveConf.getVar(conf, HiveConf.ConfVars.HIVEQUERYRESULTFILEFORMAT);
table_desc = PlanUtils.getDefaultQueryOutputTableDesc(cols, colTypes, fileFormat);
} else {
- table_desc = PlanUtils.getDefaultTableDesc(Integer
- .toString(Utilities.ctrlaCode), cols, colTypes, false);
+ table_desc = PlanUtils.getDefaultTableDesc(qb.getLLocalDirectoryDesc(), cols, colTypes);
}
} else {
table_desc = PlanUtils.getTableDesc(tblDesc, cols, colTypes);
Modified: hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java?rev=1477372&r1=1477371&r2=1477372&view=diff
==============================================================================
--- hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java (original)
+++ hive/branches/branch-0.11/ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java Mon Apr 29 22:09:16 2013
@@ -99,6 +99,56 @@ public final class PlanUtils {
}
}
+ public static TableDesc getDefaultTableDesc(CreateTableDesc localDirectoryDesc,
+ String cols, String colTypes ) {
+ TableDesc tableDesc = getDefaultTableDesc(Integer.toString(Utilities.ctrlaCode), cols,
+ colTypes, false);;
+ if (localDirectoryDesc == null) {
+ return tableDesc;
+ }
+
+ try {
+ if (localDirectoryDesc.getFieldDelim() != null) {
+ tableDesc.getProperties().setProperty(
+ serdeConstants.FIELD_DELIM, localDirectoryDesc.getFieldDelim());
+ tableDesc.getProperties().setProperty(
+ serdeConstants.SERIALIZATION_FORMAT, localDirectoryDesc.getFieldDelim());
+ }
+ if (localDirectoryDesc.getLineDelim() != null) {
+ tableDesc.getProperties().setProperty(
+ serdeConstants.LINE_DELIM, localDirectoryDesc.getLineDelim());
+ }
+ if (localDirectoryDesc.getCollItemDelim() != null) {
+ tableDesc.getProperties().setProperty(
+ serdeConstants.COLLECTION_DELIM, localDirectoryDesc.getCollItemDelim());
+ }
+ if (localDirectoryDesc.getMapKeyDelim() != null) {
+ tableDesc.getProperties().setProperty(
+ serdeConstants.MAPKEY_DELIM, localDirectoryDesc.getMapKeyDelim());
+ }
+ if (localDirectoryDesc.getFieldEscape() !=null) {
+ tableDesc.getProperties().setProperty(
+ serdeConstants.ESCAPE_CHAR, localDirectoryDesc.getFieldEscape());
+ }
+ if (localDirectoryDesc.getSerName() != null) {
+ tableDesc.setSerdeClassName(localDirectoryDesc.getSerName());
+ tableDesc.getProperties().setProperty(
+ serdeConstants.SERIALIZATION_LIB, localDirectoryDesc.getSerName());
+ tableDesc.setDeserializerClass(
+ (Class<? extends Deserializer>) Class.forName(localDirectoryDesc.getSerName()));
+ }
+ if (localDirectoryDesc.getOutputFormat() != null){
+ tableDesc.setOutputFileFormatClass(Class.forName(localDirectoryDesc.getOutputFormat()));
+ }
+ } catch (ClassNotFoundException e) {
+ // mimicking behaviour in CreateTableDesc tableDesc creation
+ // returning null table description for output.
+ e.printStackTrace();
+ return null;
+ }
+ return tableDesc;
+ }
+
/**
* Generate the table descriptor of MetadataTypedColumnsetSerDe with the
* separatorCode and column names (comma separated string).
Added: hive/branches/branch-0.11/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q?rev=1477372&view=auto
==============================================================================
--- hive/branches/branch-0.11/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q (added)
+++ hive/branches/branch-0.11/ql/src/test/queries/clientpositive/insert_overwrite_local_directory_1.q Mon Apr 29 22:09:16 2013
@@ -0,0 +1,109 @@
+insert overwrite local directory '../data/files/local_src_table_1'
+select * from src ;
+dfs -cat ../data/files/local_src_table_1/000000_0;
+
+insert overwrite local directory '../data/files/local_src_table_2'
+row format delimited
+FIELDS TERMINATED BY ':'
+select * from src ;
+
+dfs -cat ../data/files/local_src_table_2/000000_0;
+
+create table array_table (a array<string>, b array<string>)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+COLLECTION ITEMS TERMINATED BY ',';
+
+load data local inpath "../data/files/array_table.txt" overwrite into table array_table;
+
+insert overwrite local directory '../data/files/local_array_table_1'
+select * from array_table;
+dfs -cat ../data/files/local_array_table_1/000000_0;
+
+insert overwrite local directory '../data/files/local_array_table_2'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+select * from array_table;
+
+dfs -cat ../data/files/local_array_table_2/000000_0;
+
+insert overwrite local directory '../data/files/local_array_table_2_withfields'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+select b,a from array_table;
+
+dfs -cat ../data/files/local_array_table_2_withfields/000000_0;
+
+
+create table map_table (foo STRING , bar MAP<STRING, STRING>)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+COLLECTION ITEMS TERMINATED BY ','
+MAP KEYS TERMINATED BY ':'
+STORED AS TEXTFILE;
+
+load data local inpath "../data/files/map_table.txt" overwrite into table map_table;
+
+insert overwrite local directory '../data/files/local_map_table_1'
+select * from map_table;
+dfs -cat ../data/files/local_map_table_1/000000_0;
+
+insert overwrite local directory '../data/files/local_map_table_2'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+MAP KEYS TERMINATED BY '='
+select * from map_table;
+
+dfs -cat ../data/files/local_map_table_2/000000_0;
+
+insert overwrite local directory '../data/files/local_map_table_2_withfields'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+MAP KEYS TERMINATED BY '='
+select bar,foo from map_table;
+
+dfs -cat ../data/files/local_map_table_2_withfields/000000_0;
+
+insert overwrite local directory '../data/files/local_array_table_3'
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'
+STORED AS TEXTFILE
+select * from array_table;
+
+dfs -cat ../data/files/local_array_table_3/000000_0;
+
+insert overwrite local directory '../data/files/local_map_table_3'
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'
+STORED AS TEXTFILE
+select * from map_table;
+
+dfs -cat ../data/files/local_map_table_3/000000_0;
+
+insert overwrite local directory '../data/files/local_rctable'
+STORED AS RCFILE
+select value,key from src;
+
+dfs -mkdir ${system:test.tmp.dir}/local_rctable/temp;
+dfs -rmr ${system:test.tmp.dir}/local_rctable;
+dfs -mkdir ${system:test.tmp.dir}/local_rctable;
+dfs -put ../data/files/local_rctable/000000_0 ${system:test.tmp.dir}/local_rctable/000000_0;
+
+create external table local_rctable(value string, key string)
+STORED AS RCFILE
+LOCATION '${system:test.tmp.dir}/local_rctable';
+
+insert overwrite local directory '../data/files/local_rctable_out'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+select key,value from local_rctable;
+
+dfs -cat ../data/files/local_rctable_out/000000_0;
+
+drop table local_rctable;
+drop table array_table;
+drop table map_table;
+dfs -rmr ${system:test.tmp.dir}/local_rctable;
+
Added: hive/branches/branch-0.11/ql/src/test/results/clientpositive/insert_overwrite_local_directory_1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.11/ql/src/test/results/clientpositive/insert_overwrite_local_directory_1.q.out?rev=1477372&view=auto
==============================================================================
--- hive/branches/branch-0.11/ql/src/test/results/clientpositive/insert_overwrite_local_directory_1.q.out (added)
+++ hive/branches/branch-0.11/ql/src/test/results/clientpositive/insert_overwrite_local_directory_1.q.out Mon Apr 29 22:09:16 2013
@@ -0,0 +1,1755 @@
+PREHOOK: query: insert overwrite local directory '../data/files/local_src_table_1'
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: ../data/files/local_src_table_1
+POSTHOOK: query: insert overwrite local directory '../data/files/local_src_table_1'
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: ../data/files/local_src_table_1
+238val_238
+86val_86
+311val_311
+27val_27
+165val_165
+409val_409
+255val_255
+278val_278
+98val_98
+484val_484
+265val_265
+193val_193
+401val_401
+150val_150
+273val_273
+224val_224
+369val_369
+66val_66
+128val_128
+213val_213
+146val_146
+406val_406
+429val_429
+374val_374
+152val_152
+469val_469
+145val_145
+495val_495
+37val_37
+327val_327
+281val_281
+277val_277
+209val_209
+15val_15
+82val_82
+403val_403
+166val_166
+417val_417
+430val_430
+252val_252
+292val_292
+219val_219
+287val_287
+153val_153
+193val_193
+338val_338
+446val_446
+459val_459
+394val_394
+237val_237
+482val_482
+174val_174
+413val_413
+494val_494
+207val_207
+199val_199
+466val_466
+208val_208
+174val_174
+399val_399
+396val_396
+247val_247
+417val_417
+489val_489
+162val_162
+377val_377
+397val_397
+309val_309
+365val_365
+266val_266
+439val_439
+342val_342
+367val_367
+325val_325
+167val_167
+195val_195
+475val_475
+17val_17
+113val_113
+155val_155
+203val_203
+339val_339
+0val_0
+455val_455
+128val_128
+311val_311
+316val_316
+57val_57
+302val_302
+205val_205
+149val_149
+438val_438
+345val_345
+129val_129
+170val_170
+20val_20
+489val_489
+157val_157
+378val_378
+221val_221
+92val_92
+111val_111
+47val_47
+72val_72
+4val_4
+280val_280
+35val_35
+427val_427
+277val_277
+208val_208
+356val_356
+399val_399
+169val_169
+382val_382
+498val_498
+125val_125
+386val_386
+437val_437
+469val_469
+192val_192
+286val_286
+187val_187
+176val_176
+54val_54
+459val_459
+51val_51
+138val_138
+103val_103
+239val_239
+213val_213
+216val_216
+430val_430
+278val_278
+176val_176
+289val_289
+221val_221
+65val_65
+318val_318
+332val_332
+311val_311
+275val_275
+137val_137
+241val_241
+83val_83
+333val_333
+180val_180
+284val_284
+12val_12
+230val_230
+181val_181
+67val_67
+260val_260
+404val_404
+384val_384
+489val_489
+353val_353
+373val_373
+272val_272
+138val_138
+217val_217
+84val_84
+348val_348
+466val_466
+58val_58
+8val_8
+411val_411
+230val_230
+208val_208
+348val_348
+24val_24
+463val_463
+431val_431
+179val_179
+172val_172
+42val_42
+129val_129
+158val_158
+119val_119
+496val_496
+0val_0
+322val_322
+197val_197
+468val_468
+393val_393
+454val_454
+100val_100
+298val_298
+199val_199
+191val_191
+418val_418
+96val_96
+26val_26
+165val_165
+327val_327
+230val_230
+205val_205
+120val_120
+131val_131
+51val_51
+404val_404
+43val_43
+436val_436
+156val_156
+469val_469
+468val_468
+308val_308
+95val_95
+196val_196
+288val_288
+481val_481
+457val_457
+98val_98
+282val_282
+197val_197
+187val_187
+318val_318
+318val_318
+409val_409
+470val_470
+137val_137
+369val_369
+316val_316
+169val_169
+413val_413
+85val_85
+77val_77
+0val_0
+490val_490
+87val_87
+364val_364
+179val_179
+118val_118
+134val_134
+395val_395
+282val_282
+138val_138
+238val_238
+419val_419
+15val_15
+118val_118
+72val_72
+90val_90
+307val_307
+19val_19
+435val_435
+10val_10
+277val_277
+273val_273
+306val_306
+224val_224
+309val_309
+389val_389
+327val_327
+242val_242
+369val_369
+392val_392
+272val_272
+331val_331
+401val_401
+242val_242
+452val_452
+177val_177
+226val_226
+5val_5
+497val_497
+402val_402
+396val_396
+317val_317
+395val_395
+58val_58
+35val_35
+336val_336
+95val_95
+11val_11
+168val_168
+34val_34
+229val_229
+233val_233
+143val_143
+472val_472
+322val_322
+498val_498
+160val_160
+195val_195
+42val_42
+321val_321
+430val_430
+119val_119
+489val_489
+458val_458
+78val_78
+76val_76
+41val_41
+223val_223
+492val_492
+149val_149
+449val_449
+218val_218
+228val_228
+138val_138
+453val_453
+30val_30
+209val_209
+64val_64
+468val_468
+76val_76
+74val_74
+342val_342
+69val_69
+230val_230
+33val_33
+368val_368
+103val_103
+296val_296
+113val_113
+216val_216
+367val_367
+344val_344
+167val_167
+274val_274
+219val_219
+239val_239
+485val_485
+116val_116
+223val_223
+256val_256
+263val_263
+70val_70
+487val_487
+480val_480
+401val_401
+288val_288
+191val_191
+5val_5
+244val_244
+438val_438
+128val_128
+467val_467
+432val_432
+202val_202
+316val_316
+229val_229
+469val_469
+463val_463
+280val_280
+2val_2
+35val_35
+283val_283
+331val_331
+235val_235
+80val_80
+44val_44
+193val_193
+321val_321
+335val_335
+104val_104
+466val_466
+366val_366
+175val_175
+403val_403
+483val_483
+53val_53
+105val_105
+257val_257
+406val_406
+409val_409
+190val_190
+406val_406
+401val_401
+114val_114
+258val_258
+90val_90
+203val_203
+262val_262
+348val_348
+424val_424
+12val_12
+396val_396
+201val_201
+217val_217
+164val_164
+431val_431
+454val_454
+478val_478
+298val_298
+125val_125
+431val_431
+164val_164
+424val_424
+187val_187
+382val_382
+5val_5
+70val_70
+397val_397
+480val_480
+291val_291
+24val_24
+351val_351
+255val_255
+104val_104
+70val_70
+163val_163
+438val_438
+119val_119
+414val_414
+200val_200
+491val_491
+237val_237
+439val_439
+360val_360
+248val_248
+479val_479
+305val_305
+417val_417
+199val_199
+444val_444
+120val_120
+429val_429
+169val_169
+443val_443
+323val_323
+325val_325
+277val_277
+230val_230
+478val_478
+178val_178
+468val_468
+310val_310
+317val_317
+333val_333
+493val_493
+460val_460
+207val_207
+249val_249
+265val_265
+480val_480
+83val_83
+136val_136
+353val_353
+172val_172
+214val_214
+462val_462
+233val_233
+406val_406
+133val_133
+175val_175
+189val_189
+454val_454
+375val_375
+401val_401
+421val_421
+407val_407
+384val_384
+256val_256
+26val_26
+134val_134
+67val_67
+384val_384
+379val_379
+18val_18
+462val_462
+492val_492
+100val_100
+298val_298
+9val_9
+341val_341
+498val_498
+146val_146
+458val_458
+362val_362
+186val_186
+285val_285
+348val_348
+167val_167
+18val_18
+273val_273
+183val_183
+281val_281
+344val_344
+97val_97
+469val_469
+315val_315
+84val_84
+28val_28
+37val_37
+448val_448
+152val_152
+348val_348
+307val_307
+194val_194
+414val_414
+477val_477
+222val_222
+126val_126
+90val_90
+169val_169
+403val_403
+400val_400
+200val_200
+97val_97
+PREHOOK: query: insert overwrite local directory '../data/files/local_src_table_2'
+row format delimited
+FIELDS TERMINATED BY ':'
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: ../data/files/local_src_table_2
+POSTHOOK: query: insert overwrite local directory '../data/files/local_src_table_2'
+row format delimited
+FIELDS TERMINATED BY ':'
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: ../data/files/local_src_table_2
+238:val_238
+86:val_86
+311:val_311
+27:val_27
+165:val_165
+409:val_409
+255:val_255
+278:val_278
+98:val_98
+484:val_484
+265:val_265
+193:val_193
+401:val_401
+150:val_150
+273:val_273
+224:val_224
+369:val_369
+66:val_66
+128:val_128
+213:val_213
+146:val_146
+406:val_406
+429:val_429
+374:val_374
+152:val_152
+469:val_469
+145:val_145
+495:val_495
+37:val_37
+327:val_327
+281:val_281
+277:val_277
+209:val_209
+15:val_15
+82:val_82
+403:val_403
+166:val_166
+417:val_417
+430:val_430
+252:val_252
+292:val_292
+219:val_219
+287:val_287
+153:val_153
+193:val_193
+338:val_338
+446:val_446
+459:val_459
+394:val_394
+237:val_237
+482:val_482
+174:val_174
+413:val_413
+494:val_494
+207:val_207
+199:val_199
+466:val_466
+208:val_208
+174:val_174
+399:val_399
+396:val_396
+247:val_247
+417:val_417
+489:val_489
+162:val_162
+377:val_377
+397:val_397
+309:val_309
+365:val_365
+266:val_266
+439:val_439
+342:val_342
+367:val_367
+325:val_325
+167:val_167
+195:val_195
+475:val_475
+17:val_17
+113:val_113
+155:val_155
+203:val_203
+339:val_339
+0:val_0
+455:val_455
+128:val_128
+311:val_311
+316:val_316
+57:val_57
+302:val_302
+205:val_205
+149:val_149
+438:val_438
+345:val_345
+129:val_129
+170:val_170
+20:val_20
+489:val_489
+157:val_157
+378:val_378
+221:val_221
+92:val_92
+111:val_111
+47:val_47
+72:val_72
+4:val_4
+280:val_280
+35:val_35
+427:val_427
+277:val_277
+208:val_208
+356:val_356
+399:val_399
+169:val_169
+382:val_382
+498:val_498
+125:val_125
+386:val_386
+437:val_437
+469:val_469
+192:val_192
+286:val_286
+187:val_187
+176:val_176
+54:val_54
+459:val_459
+51:val_51
+138:val_138
+103:val_103
+239:val_239
+213:val_213
+216:val_216
+430:val_430
+278:val_278
+176:val_176
+289:val_289
+221:val_221
+65:val_65
+318:val_318
+332:val_332
+311:val_311
+275:val_275
+137:val_137
+241:val_241
+83:val_83
+333:val_333
+180:val_180
+284:val_284
+12:val_12
+230:val_230
+181:val_181
+67:val_67
+260:val_260
+404:val_404
+384:val_384
+489:val_489
+353:val_353
+373:val_373
+272:val_272
+138:val_138
+217:val_217
+84:val_84
+348:val_348
+466:val_466
+58:val_58
+8:val_8
+411:val_411
+230:val_230
+208:val_208
+348:val_348
+24:val_24
+463:val_463
+431:val_431
+179:val_179
+172:val_172
+42:val_42
+129:val_129
+158:val_158
+119:val_119
+496:val_496
+0:val_0
+322:val_322
+197:val_197
+468:val_468
+393:val_393
+454:val_454
+100:val_100
+298:val_298
+199:val_199
+191:val_191
+418:val_418
+96:val_96
+26:val_26
+165:val_165
+327:val_327
+230:val_230
+205:val_205
+120:val_120
+131:val_131
+51:val_51
+404:val_404
+43:val_43
+436:val_436
+156:val_156
+469:val_469
+468:val_468
+308:val_308
+95:val_95
+196:val_196
+288:val_288
+481:val_481
+457:val_457
+98:val_98
+282:val_282
+197:val_197
+187:val_187
+318:val_318
+318:val_318
+409:val_409
+470:val_470
+137:val_137
+369:val_369
+316:val_316
+169:val_169
+413:val_413
+85:val_85
+77:val_77
+0:val_0
+490:val_490
+87:val_87
+364:val_364
+179:val_179
+118:val_118
+134:val_134
+395:val_395
+282:val_282
+138:val_138
+238:val_238
+419:val_419
+15:val_15
+118:val_118
+72:val_72
+90:val_90
+307:val_307
+19:val_19
+435:val_435
+10:val_10
+277:val_277
+273:val_273
+306:val_306
+224:val_224
+309:val_309
+389:val_389
+327:val_327
+242:val_242
+369:val_369
+392:val_392
+272:val_272
+331:val_331
+401:val_401
+242:val_242
+452:val_452
+177:val_177
+226:val_226
+5:val_5
+497:val_497
+402:val_402
+396:val_396
+317:val_317
+395:val_395
+58:val_58
+35:val_35
+336:val_336
+95:val_95
+11:val_11
+168:val_168
+34:val_34
+229:val_229
+233:val_233
+143:val_143
+472:val_472
+322:val_322
+498:val_498
+160:val_160
+195:val_195
+42:val_42
+321:val_321
+430:val_430
+119:val_119
+489:val_489
+458:val_458
+78:val_78
+76:val_76
+41:val_41
+223:val_223
+492:val_492
+149:val_149
+449:val_449
+218:val_218
+228:val_228
+138:val_138
+453:val_453
+30:val_30
+209:val_209
+64:val_64
+468:val_468
+76:val_76
+74:val_74
+342:val_342
+69:val_69
+230:val_230
+33:val_33
+368:val_368
+103:val_103
+296:val_296
+113:val_113
+216:val_216
+367:val_367
+344:val_344
+167:val_167
+274:val_274
+219:val_219
+239:val_239
+485:val_485
+116:val_116
+223:val_223
+256:val_256
+263:val_263
+70:val_70
+487:val_487
+480:val_480
+401:val_401
+288:val_288
+191:val_191
+5:val_5
+244:val_244
+438:val_438
+128:val_128
+467:val_467
+432:val_432
+202:val_202
+316:val_316
+229:val_229
+469:val_469
+463:val_463
+280:val_280
+2:val_2
+35:val_35
+283:val_283
+331:val_331
+235:val_235
+80:val_80
+44:val_44
+193:val_193
+321:val_321
+335:val_335
+104:val_104
+466:val_466
+366:val_366
+175:val_175
+403:val_403
+483:val_483
+53:val_53
+105:val_105
+257:val_257
+406:val_406
+409:val_409
+190:val_190
+406:val_406
+401:val_401
+114:val_114
+258:val_258
+90:val_90
+203:val_203
+262:val_262
+348:val_348
+424:val_424
+12:val_12
+396:val_396
+201:val_201
+217:val_217
+164:val_164
+431:val_431
+454:val_454
+478:val_478
+298:val_298
+125:val_125
+431:val_431
+164:val_164
+424:val_424
+187:val_187
+382:val_382
+5:val_5
+70:val_70
+397:val_397
+480:val_480
+291:val_291
+24:val_24
+351:val_351
+255:val_255
+104:val_104
+70:val_70
+163:val_163
+438:val_438
+119:val_119
+414:val_414
+200:val_200
+491:val_491
+237:val_237
+439:val_439
+360:val_360
+248:val_248
+479:val_479
+305:val_305
+417:val_417
+199:val_199
+444:val_444
+120:val_120
+429:val_429
+169:val_169
+443:val_443
+323:val_323
+325:val_325
+277:val_277
+230:val_230
+478:val_478
+178:val_178
+468:val_468
+310:val_310
+317:val_317
+333:val_333
+493:val_493
+460:val_460
+207:val_207
+249:val_249
+265:val_265
+480:val_480
+83:val_83
+136:val_136
+353:val_353
+172:val_172
+214:val_214
+462:val_462
+233:val_233
+406:val_406
+133:val_133
+175:val_175
+189:val_189
+454:val_454
+375:val_375
+401:val_401
+421:val_421
+407:val_407
+384:val_384
+256:val_256
+26:val_26
+134:val_134
+67:val_67
+384:val_384
+379:val_379
+18:val_18
+462:val_462
+492:val_492
+100:val_100
+298:val_298
+9:val_9
+341:val_341
+498:val_498
+146:val_146
+458:val_458
+362:val_362
+186:val_186
+285:val_285
+348:val_348
+167:val_167
+18:val_18
+273:val_273
+183:val_183
+281:val_281
+344:val_344
+97:val_97
+469:val_469
+315:val_315
+84:val_84
+28:val_28
+37:val_37
+448:val_448
+152:val_152
+348:val_348
+307:val_307
+194:val_194
+414:val_414
+477:val_477
+222:val_222
+126:val_126
+90:val_90
+169:val_169
+403:val_403
+400:val_400
+200:val_200
+97:val_97
+PREHOOK: query: create table array_table (a array<string>, b array<string>)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+COLLECTION ITEMS TERMINATED BY ','
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table array_table (a array<string>, b array<string>)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+COLLECTION ITEMS TERMINATED BY ','
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@array_table
+PREHOOK: query: load data local inpath "../data/files/array_table.txt" overwrite into table array_table
+PREHOOK: type: LOAD
+PREHOOK: Output: default@array_table
+POSTHOOK: query: load data local inpath "../data/files/array_table.txt" overwrite into table array_table
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@array_table
+PREHOOK: query: insert overwrite local directory '../data/files/local_array_table_1'
+select * from array_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@array_table
+PREHOOK: Output: ../data/files/local_array_table_1
+POSTHOOK: query: insert overwrite local directory '../data/files/local_array_table_1'
+select * from array_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@array_table
+POSTHOOK: Output: ../data/files/local_array_table_1
+a1a2a3b1b2b3b4
+a21a22a23b21b22b23b24
+PREHOOK: query: insert overwrite local directory '../data/files/local_array_table_2'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+select * from array_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@array_table
+PREHOOK: Output: ../data/files/local_array_table_2
+POSTHOOK: query: insert overwrite local directory '../data/files/local_array_table_2'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+select * from array_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@array_table
+POSTHOOK: Output: ../data/files/local_array_table_2
+a1#a2#a3:b1#b2#b3#b4
+a21#a22#a23:b21#b22#b23#b24
+PREHOOK: query: insert overwrite local directory '../data/files/local_array_table_2_withfields'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+select b,a from array_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@array_table
+PREHOOK: Output: ../data/files/local_array_table_2_withfields
+POSTHOOK: query: insert overwrite local directory '../data/files/local_array_table_2_withfields'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+select b,a from array_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@array_table
+POSTHOOK: Output: ../data/files/local_array_table_2_withfields
+b1#b2#b3#b4:a1#a2#a3
+b21#b22#b23#b24:a21#a22#a23
+PREHOOK: query: create table map_table (foo STRING , bar MAP<STRING, STRING>)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+COLLECTION ITEMS TERMINATED BY ','
+MAP KEYS TERMINATED BY ':'
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table map_table (foo STRING , bar MAP<STRING, STRING>)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+COLLECTION ITEMS TERMINATED BY ','
+MAP KEYS TERMINATED BY ':'
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@map_table
+PREHOOK: query: load data local inpath "../data/files/map_table.txt" overwrite into table map_table
+PREHOOK: type: LOAD
+PREHOOK: Output: default@map_table
+POSTHOOK: query: load data local inpath "../data/files/map_table.txt" overwrite into table map_table
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@map_table
+PREHOOK: query: insert overwrite local directory '../data/files/local_map_table_1'
+select * from map_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@map_table
+PREHOOK: Output: ../data/files/local_map_table_1
+POSTHOOK: query: insert overwrite local directory '../data/files/local_map_table_1'
+select * from map_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@map_table
+POSTHOOK: Output: ../data/files/local_map_table_1
+foo1k1v1k2v2k3v3
+foo2k21v21k22v22k31v31
+PREHOOK: query: insert overwrite local directory '../data/files/local_map_table_2'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+MAP KEYS TERMINATED BY '='
+select * from map_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@map_table
+PREHOOK: Output: ../data/files/local_map_table_2
+POSTHOOK: query: insert overwrite local directory '../data/files/local_map_table_2'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+MAP KEYS TERMINATED BY '='
+select * from map_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@map_table
+POSTHOOK: Output: ../data/files/local_map_table_2
+foo1:k1=v1#k2=v2#k3=v3
+foo2:k21=v21#k22=v22#k31=v31
+PREHOOK: query: insert overwrite local directory '../data/files/local_map_table_2_withfields'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+MAP KEYS TERMINATED BY '='
+select bar,foo from map_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@map_table
+PREHOOK: Output: ../data/files/local_map_table_2_withfields
+POSTHOOK: query: insert overwrite local directory '../data/files/local_map_table_2_withfields'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ':'
+COLLECTION ITEMS TERMINATED BY '#'
+MAP KEYS TERMINATED BY '='
+select bar,foo from map_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@map_table
+POSTHOOK: Output: ../data/files/local_map_table_2_withfields
+k1=v1#k2=v2#k3=v3:foo1
+k21=v21#k22=v22#k31=v31:foo2
+PREHOOK: query: insert overwrite local directory '../data/files/local_array_table_3'
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'
+STORED AS TEXTFILE
+select * from array_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@array_table
+PREHOOK: Output: ../data/files/local_array_table_3
+POSTHOOK: query: insert overwrite local directory '../data/files/local_array_table_3'
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'
+STORED AS TEXTFILE
+select * from array_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@array_table
+POSTHOOK: Output: ../data/files/local_array_table_3
+["a1","a2","a3"]["b1","b2","b3","b4"]
+["a21","a22","a23"]["b21","b22","b23","b24"]
+PREHOOK: query: insert overwrite local directory '../data/files/local_map_table_3'
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'
+STORED AS TEXTFILE
+select * from map_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@map_table
+PREHOOK: Output: ../data/files/local_map_table_3
+POSTHOOK: query: insert overwrite local directory '../data/files/local_map_table_3'
+ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe'
+STORED AS TEXTFILE
+select * from map_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@map_table
+POSTHOOK: Output: ../data/files/local_map_table_3
+foo1{"k1":"v1","k2":"v2","k3":"v3"}
+foo2{"k21":"v21","k22":"v22","k31":"v31"}
+PREHOOK: query: insert overwrite local directory '../data/files/local_rctable'
+STORED AS RCFILE
+select value,key from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: ../data/files/local_rctable
+POSTHOOK: query: insert overwrite local directory '../data/files/local_rctable'
+STORED AS RCFILE
+select value,key from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: ../data/files/local_rctable
+#### A masked pattern was here ####
+PREHOOK: query: create external table local_rctable(value string, key string)
+STORED AS RCFILE
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create external table local_rctable(value string, key string)
+STORED AS RCFILE
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@local_rctable
+PREHOOK: query: insert overwrite local directory '../data/files/local_rctable_out'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+select key,value from local_rctable
+PREHOOK: type: QUERY
+PREHOOK: Input: default@local_rctable
+PREHOOK: Output: ../data/files/local_rctable_out
+POSTHOOK: query: insert overwrite local directory '../data/files/local_rctable_out'
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY '\t'
+select key,value from local_rctable
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@local_rctable
+POSTHOOK: Output: ../data/files/local_rctable_out
+238 val_238
+86 val_86
+311 val_311
+27 val_27
+165 val_165
+409 val_409
+255 val_255
+278 val_278
+98 val_98
+484 val_484
+265 val_265
+193 val_193
+401 val_401
+150 val_150
+273 val_273
+224 val_224
+369 val_369
+66 val_66
+128 val_128
+213 val_213
+146 val_146
+406 val_406
+429 val_429
+374 val_374
+152 val_152
+469 val_469
+145 val_145
+495 val_495
+37 val_37
+327 val_327
+281 val_281
+277 val_277
+209 val_209
+15 val_15
+82 val_82
+403 val_403
+166 val_166
+417 val_417
+430 val_430
+252 val_252
+292 val_292
+219 val_219
+287 val_287
+153 val_153
+193 val_193
+338 val_338
+446 val_446
+459 val_459
+394 val_394
+237 val_237
+482 val_482
+174 val_174
+413 val_413
+494 val_494
+207 val_207
+199 val_199
+466 val_466
+208 val_208
+174 val_174
+399 val_399
+396 val_396
+247 val_247
+417 val_417
+489 val_489
+162 val_162
+377 val_377
+397 val_397
+309 val_309
+365 val_365
+266 val_266
+439 val_439
+342 val_342
+367 val_367
+325 val_325
+167 val_167
+195 val_195
+475 val_475
+17 val_17
+113 val_113
+155 val_155
+203 val_203
+339 val_339
+0 val_0
+455 val_455
+128 val_128
+311 val_311
+316 val_316
+57 val_57
+302 val_302
+205 val_205
+149 val_149
+438 val_438
+345 val_345
+129 val_129
+170 val_170
+20 val_20
+489 val_489
+157 val_157
+378 val_378
+221 val_221
+92 val_92
+111 val_111
+47 val_47
+72 val_72
+4 val_4
+280 val_280
+35 val_35
+427 val_427
+277 val_277
+208 val_208
+356 val_356
+399 val_399
+169 val_169
+382 val_382
+498 val_498
+125 val_125
+386 val_386
+437 val_437
+469 val_469
+192 val_192
+286 val_286
+187 val_187
+176 val_176
+54 val_54
+459 val_459
+51 val_51
+138 val_138
+103 val_103
+239 val_239
+213 val_213
+216 val_216
+430 val_430
+278 val_278
+176 val_176
+289 val_289
+221 val_221
+65 val_65
+318 val_318
+332 val_332
+311 val_311
+275 val_275
+137 val_137
+241 val_241
+83 val_83
+333 val_333
+180 val_180
+284 val_284
+12 val_12
+230 val_230
+181 val_181
+67 val_67
+260 val_260
+404 val_404
+384 val_384
+489 val_489
+353 val_353
+373 val_373
+272 val_272
+138 val_138
+217 val_217
+84 val_84
+348 val_348
+466 val_466
+58 val_58
+8 val_8
+411 val_411
+230 val_230
+208 val_208
+348 val_348
+24 val_24
+463 val_463
+431 val_431
+179 val_179
+172 val_172
+42 val_42
+129 val_129
+158 val_158
+119 val_119
+496 val_496
+0 val_0
+322 val_322
+197 val_197
+468 val_468
+393 val_393
+454 val_454
+100 val_100
+298 val_298
+199 val_199
+191 val_191
+418 val_418
+96 val_96
+26 val_26
+165 val_165
+327 val_327
+230 val_230
+205 val_205
+120 val_120
+131 val_131
+51 val_51
+404 val_404
+43 val_43
+436 val_436
+156 val_156
+469 val_469
+468 val_468
+308 val_308
+95 val_95
+196 val_196
+288 val_288
+481 val_481
+457 val_457
+98 val_98
+282 val_282
+197 val_197
+187 val_187
+318 val_318
+318 val_318
+409 val_409
+470 val_470
+137 val_137
+369 val_369
+316 val_316
+169 val_169
+413 val_413
+85 val_85
+77 val_77
+0 val_0
+490 val_490
+87 val_87
+364 val_364
+179 val_179
+118 val_118
+134 val_134
+395 val_395
+282 val_282
+138 val_138
+238 val_238
+419 val_419
+15 val_15
+118 val_118
+72 val_72
+90 val_90
+307 val_307
+19 val_19
+435 val_435
+10 val_10
+277 val_277
+273 val_273
+306 val_306
+224 val_224
+309 val_309
+389 val_389
+327 val_327
+242 val_242
+369 val_369
+392 val_392
+272 val_272
+331 val_331
+401 val_401
+242 val_242
+452 val_452
+177 val_177
+226 val_226
+5 val_5
+497 val_497
+402 val_402
+396 val_396
+317 val_317
+395 val_395
+58 val_58
+35 val_35
+336 val_336
+95 val_95
+11 val_11
+168 val_168
+34 val_34
+229 val_229
+233 val_233
+143 val_143
+472 val_472
+322 val_322
+498 val_498
+160 val_160
+195 val_195
+42 val_42
+321 val_321
+430 val_430
+119 val_119
+489 val_489
+458 val_458
+78 val_78
+76 val_76
+41 val_41
+223 val_223
+492 val_492
+149 val_149
+449 val_449
+218 val_218
+228 val_228
+138 val_138
+453 val_453
+30 val_30
+209 val_209
+64 val_64
+468 val_468
+76 val_76
+74 val_74
+342 val_342
+69 val_69
+230 val_230
+33 val_33
+368 val_368
+103 val_103
+296 val_296
+113 val_113
+216 val_216
+367 val_367
+344 val_344
+167 val_167
+274 val_274
+219 val_219
+239 val_239
+485 val_485
+116 val_116
+223 val_223
+256 val_256
+263 val_263
+70 val_70
+487 val_487
+480 val_480
+401 val_401
+288 val_288
+191 val_191
+5 val_5
+244 val_244
+438 val_438
+128 val_128
+467 val_467
+432 val_432
+202 val_202
+316 val_316
+229 val_229
+469 val_469
+463 val_463
+280 val_280
+2 val_2
+35 val_35
+283 val_283
+331 val_331
+235 val_235
+80 val_80
+44 val_44
+193 val_193
+321 val_321
+335 val_335
+104 val_104
+466 val_466
+366 val_366
+175 val_175
+403 val_403
+483 val_483
+53 val_53
+105 val_105
+257 val_257
+406 val_406
+409 val_409
+190 val_190
+406 val_406
+401 val_401
+114 val_114
+258 val_258
+90 val_90
+203 val_203
+262 val_262
+348 val_348
+424 val_424
+12 val_12
+396 val_396
+201 val_201
+217 val_217
+164 val_164
+431 val_431
+454 val_454
+478 val_478
+298 val_298
+125 val_125
+431 val_431
+164 val_164
+424 val_424
+187 val_187
+382 val_382
+5 val_5
+70 val_70
+397 val_397
+480 val_480
+291 val_291
+24 val_24
+351 val_351
+255 val_255
+104 val_104
+70 val_70
+163 val_163
+438 val_438
+119 val_119
+414 val_414
+200 val_200
+491 val_491
+237 val_237
+439 val_439
+360 val_360
+248 val_248
+479 val_479
+305 val_305
+417 val_417
+199 val_199
+444 val_444
+120 val_120
+429 val_429
+169 val_169
+443 val_443
+323 val_323
+325 val_325
+277 val_277
+230 val_230
+478 val_478
+178 val_178
+468 val_468
+310 val_310
+317 val_317
+333 val_333
+493 val_493
+460 val_460
+207 val_207
+249 val_249
+265 val_265
+480 val_480
+83 val_83
+136 val_136
+353 val_353
+172 val_172
+214 val_214
+462 val_462
+233 val_233
+406 val_406
+133 val_133
+175 val_175
+189 val_189
+454 val_454
+375 val_375
+401 val_401
+421 val_421
+407 val_407
+384 val_384
+256 val_256
+26 val_26
+134 val_134
+67 val_67
+384 val_384
+379 val_379
+18 val_18
+462 val_462
+492 val_492
+100 val_100
+298 val_298
+9 val_9
+341 val_341
+498 val_498
+146 val_146
+458 val_458
+362 val_362
+186 val_186
+285 val_285
+348 val_348
+167 val_167
+18 val_18
+273 val_273
+183 val_183
+281 val_281
+344 val_344
+97 val_97
+469 val_469
+315 val_315
+84 val_84
+28 val_28
+37 val_37
+448 val_448
+152 val_152
+348 val_348
+307 val_307
+194 val_194
+414 val_414
+477 val_477
+222 val_222
+126 val_126
+90 val_90
+169 val_169
+403 val_403
+400 val_400
+200 val_200
+97 val_97
+PREHOOK: query: drop table local_rctable
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@local_rctable
+PREHOOK: Output: default@local_rctable
+POSTHOOK: query: drop table local_rctable
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@local_rctable
+POSTHOOK: Output: default@local_rctable
+PREHOOK: query: drop table array_table
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@array_table
+PREHOOK: Output: default@array_table
+POSTHOOK: query: drop table array_table
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@array_table
+POSTHOOK: Output: default@array_table
+PREHOOK: query: drop table map_table
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@map_table
+PREHOOK: Output: default@map_table
+POSTHOOK: query: drop table map_table
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@map_table
+POSTHOOK: Output: default@map_table
+#### A masked pattern was here ####