diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g index 4d58f96..7d9a8e1 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g +++ ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g @@ -2098,7 +2098,7 @@ destination @after { popMsg(state); } : KW_LOCAL KW_DIRECTORY StringLiteral tableRowFormat? tableFileFormat? -> ^(TOK_LOCAL_DIR StringLiteral tableRowFormat? tableFileFormat?) - | KW_DIRECTORY StringLiteral -> ^(TOK_DIR StringLiteral) + | KW_DIRECTORY StringLiteral tableRowFormat? tableFileFormat? -> ^(TOK_DIR StringLiteral tableRowFormat? tableFileFormat?) | KW_TABLE tableOrPartition -> tableOrPartition ; diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java index a8b436e..3d9912b 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java @@ -53,7 +53,7 @@ private boolean isQuery; private boolean isAnalyzeRewrite; private CreateTableDesc tblDesc = null; // table descriptor of the final - private CreateTableDesc localDirectoryDesc = null ; + private CreateTableDesc directoryDesc = null ; // used by PTFs /* @@ -256,12 +256,12 @@ public void setTableDesc(CreateTableDesc desc) { tblDesc = desc; } - public CreateTableDesc getLLocalDirectoryDesc() { - return localDirectoryDesc; + public CreateTableDesc getDirectoryDesc() { + return directoryDesc; } - public void setLocalDirectoryDesc(CreateTableDesc localDirectoryDesc) { - this.localDirectoryDesc = localDirectoryDesc; + public void setDirectoryDesc(CreateTableDesc directoryDesc) { + this.directoryDesc = directoryDesc; } /** diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 77388dd..8966906 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -1430,8 +1430,8 @@ public void getMetaData(QB qb, ReadEntity parentInput) throws SemanticException qb.getMetaData().setDestForAlias(name, fname, (ast.getToken().getType() == HiveParser.TOK_DIR)); - CreateTableDesc localDirectoryDesc = new CreateTableDesc(); - boolean localDirectoryDescIsSet = false; + CreateTableDesc directoryDesc = new CreateTableDesc(); + boolean directoryDescIsSet = false; int numCh = ast.getChildCount(); for (int num = 1; num < numCh ; num++){ ASTNode child = (ASTNode) ast.getChild(num); @@ -1439,19 +1439,24 @@ public void getMetaData(QB qb, ReadEntity parentInput) throws SemanticException 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); - localDirectoryDesc.setNullFormat(rowFormatParams.nullFormat); - localDirectoryDescIsSet=true; + directoryDesc.setFieldDelim(rowFormatParams.fieldDelim); + directoryDesc.setLineDelim(rowFormatParams.lineDelim); + directoryDesc.setCollItemDelim(rowFormatParams.collItemDelim); + directoryDesc.setMapKeyDelim(rowFormatParams.mapKeyDelim); + directoryDesc.setFieldEscape(rowFormatParams.fieldEscape); + directoryDesc.setNullFormat(rowFormatParams.nullFormat); + directoryDescIsSet = 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; + directoryDesc.setSerName(shared.serde); + if (serdeChild.getChildCount() >= 2) { + readProps((ASTNode) (serdeChild.getChild(1).getChild(0)), + shared.serdeProps); + directoryDesc.setSerdeProps(shared.serdeProps); + } + directoryDescIsSet = true; break; case HiveParser.TOK_TBLSEQUENCEFILE: case HiveParser.TOK_TBLTEXTFILE: @@ -1459,15 +1464,15 @@ public void getMetaData(QB qb, ReadEntity parentInput) throws SemanticException case HiveParser.TOK_TBLORCFILE: case HiveParser.TOK_TABLEFILEFORMAT: storageFormat.fillStorageFormat(child, shared); - localDirectoryDesc.setOutputFormat(storageFormat.outputFormat); - localDirectoryDesc.setSerName(shared.serde); - localDirectoryDescIsSet=true; + directoryDesc.setOutputFormat(storageFormat.outputFormat); + directoryDesc.setSerName(shared.serde); + directoryDescIsSet = true; break; } } } - if (localDirectoryDescIsSet){ - qb.setLocalDirectoryDesc(localDirectoryDesc); + if (directoryDescIsSet){ + qb.setDirectoryDesc(directoryDesc); } break; } @@ -5721,7 +5726,7 @@ private Operator genFileSinkPlan(String dest, QB qb, Operator input) String fileFormat = HiveConf.getVar(conf, HiveConf.ConfVars.HIVEQUERYRESULTFILEFORMAT); table_desc = PlanUtils.getDefaultQueryOutputTableDesc(cols, colTypes, fileFormat); } else { - table_desc = PlanUtils.getDefaultTableDesc(qb.getLLocalDirectoryDesc(), cols, colTypes); + table_desc = PlanUtils.getDefaultTableDesc(qb.getDirectoryDesc(), cols, colTypes); } } else { table_desc = PlanUtils.getTableDesc(tblDesc, cols, colTypes); diff --git ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java index c2cb543..28cde90 100644 --- ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java +++ ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java @@ -25,6 +25,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Properties; import java.util.Set; @@ -153,7 +154,11 @@ public static TableDesc getDefaultTableDesc(CreateTableDesc localDirectoryDesc, if (localDirectoryDesc.getTblProps() != null) { properties.putAll(localDirectoryDesc.getTblProps()); } - + if (localDirectoryDesc.getSerdeProps() != null) { + for ( Entry entry : localDirectoryDesc.getSerdeProps().entrySet()) { + properties.setProperty(entry.getKey(), entry.getValue()); + } + } } catch (ClassNotFoundException e) { // mimicking behaviour in CreateTableDesc tableDesc creation // returning null table description for output. diff --git ql/src/test/queries/clientpositive/insert_overwrite_directory.q ql/src/test/queries/clientpositive/insert_overwrite_directory.q new file mode 100644 index 0000000..2e24951 --- /dev/null +++ ql/src/test/queries/clientpositive/insert_overwrite_directory.q @@ -0,0 +1,141 @@ +insert overwrite directory '../../data/files/src_table_1' +select * from src ; +dfs -cat ../../data/files/src_table_1/000000_0; + +insert overwrite directory '../../data/files/src_table_2' +row format delimited +FIELDS TERMINATED BY ':' +select * from src ; + +dfs -cat ../../data/files/src_table_2/000000_0; + +create table array_table (a array, b array) +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 directory '../../data/files/array_table_1' +select * from array_table; +dfs -cat ../../data/files/array_table_1/000000_0; + +insert overwrite directory '../../data/files/array_table_2' +ROW FORMAT DELIMITED +FIELDS TERMINATED BY ':' +COLLECTION ITEMS TERMINATED BY '#' +select * from array_table; + +dfs -cat ../../data/files/array_table_2/000000_0; + +insert overwrite directory '../../data/files/array_table_2_withfields' +ROW FORMAT DELIMITED +FIELDS TERMINATED BY ':' +COLLECTION ITEMS TERMINATED BY '#' +select b,a from array_table; + +dfs -cat ../../data/files/array_table_2_withfields/000000_0; + + +create table map_table (foo STRING , bar MAP) +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 directory '../../data/files/map_table_1' +select * from map_table; +dfs -cat ../../data/files/map_table_1/000000_0; + +insert overwrite directory '../../data/files/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/map_table_2/000000_0; + +insert overwrite directory '../../data/files/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/map_table_2_withfields/000000_0; + +insert overwrite directory '../../data/files/array_table_3' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe' +STORED AS TEXTFILE +select * from array_table; + +dfs -cat ../../data/files/array_table_3/000000_0; + + +insert overwrite directory '../../data/files/array_table_4' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( +'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', +'quote.delim'= '("|\\[|\\])', 'field.delim'=', ', +'serialization.null.format'='-' ) STORED AS TEXTFILE +select a, null, b from array_table; + +dfs -cat ../../data/files/array_table_4/000000_0; + +insert overwrite directory '../../data/files/map_table_3' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.DelimitedJSONSerDe' +STORED AS TEXTFILE +select * from map_table; + +dfs -cat ../../data/files/map_table_3/000000_0; + +insert overwrite directory '../../data/files/map_table_4' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( +'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', +'quote.delim'= '("|\\[|\\])', 'field.delim'=', ', +'serialization.null.format'='-' ) STORED AS TEXTFILE +select foo, null, bar from map_table; + +dfs -cat ../../data/files/map_table_4/000000_0; + +insert overwrite directory '../../data/files/rctable' +STORED AS RCFILE +select value,key from src; + +dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/rctable/temp; +dfs -rmr ${system:test.tmp.dir}/rctable; +dfs ${system:test.dfs.mkdir} ${system:test.tmp.dir}/rctable; +dfs -put ../../data/files/rctable/000000_0 ${system:test.tmp.dir}/rctable/000000_0; + +create external table rctable(value string, key string) +STORED AS RCFILE +LOCATION '${system:test.tmp.dir}/rctable'; + +insert overwrite directory '../../data/files/rctable_out' +ROW FORMAT DELIMITED +FIELDS TERMINATED BY '\t' +select key,value from rctable; + +dfs -cat ../../data/files/rctable_out/000000_0; + +drop table rctable; +drop table array_table; +drop table map_table; +dfs -rmr ${system:test.tmp.dir}/rctable; +dfs -rmr ../../data/files/array_table_1; +dfs -rmr ../../data/files/array_table_2; +dfs -rmr ../../data/files/array_table_3; +dfs -rmr ../../data/files/array_table_4; +dfs -rmr ../../data/files/map_table_1; +dfs -rmr ../../data/files/map_table_2; +dfs -rmr ../../data/files/map_table_3; +dfs -rmr ../../data/files/map_table_4; +dfs -rmr ../../data/files/rctable; +dfs -rmr ../../data/files/rctable_out; +dfs -rmr ../../data/files/src_table_1; +dfs -rmr ../../data/files/src_table_2; diff --git ql/src/test/results/clientpositive/insert_overwrite_directory.q.out ql/src/test/results/clientpositive/insert_overwrite_directory.q.out new file mode 100644 index 0000000..1be0dac --- /dev/null +++ ql/src/test/results/clientpositive/insert_overwrite_directory.q.out @@ -0,0 +1,1799 @@ +PREHOOK: query: insert overwrite directory '../../data/files/src_table_1' +select * from src +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: ../../data/files/src_table_1 +POSTHOOK: query: insert overwrite directory '../../data/files/src_table_1' +select * from src +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: ../../data/files/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 directory '../../data/files/src_table_2' +row format delimited +FIELDS TERMINATED BY ':' +select * from src +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: ../../data/files/src_table_2 +POSTHOOK: query: insert overwrite directory '../../data/files/src_table_2' +row format delimited +FIELDS TERMINATED BY ':' +select * from src +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: ../../data/files/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, b array) +ROW FORMAT DELIMITED +FIELDS TERMINATED BY '\t' +COLLECTION ITEMS TERMINATED BY ',' +PREHOOK: type: CREATETABLE +POSTHOOK: query: create table array_table (a array, b array) +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 directory '../../data/files/array_table_1' +select * from array_table +PREHOOK: type: QUERY +PREHOOK: Input: default@array_table +PREHOOK: Output: ../../data/files/array_table_1 +POSTHOOK: query: insert overwrite directory '../../data/files/array_table_1' +select * from array_table +POSTHOOK: type: QUERY +POSTHOOK: Input: default@array_table +POSTHOOK: Output: ../../data/files/array_table_1 +a1a2a3b1b2b3b4 +a21a22a23b21b22b23b24 +PREHOOK: query: insert overwrite directory '../../data/files/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/array_table_2 +POSTHOOK: query: insert overwrite directory '../../data/files/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/array_table_2 +a1#a2#a3:b1#b2#b3#b4 +a21#a22#a23:b21#b22#b23#b24 +PREHOOK: query: insert overwrite directory '../../data/files/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/array_table_2_withfields +POSTHOOK: query: insert overwrite directory '../../data/files/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/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) +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) +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 directory '../../data/files/map_table_1' +select * from map_table +PREHOOK: type: QUERY +PREHOOK: Input: default@map_table +PREHOOK: Output: ../../data/files/map_table_1 +POSTHOOK: query: insert overwrite directory '../../data/files/map_table_1' +select * from map_table +POSTHOOK: type: QUERY +POSTHOOK: Input: default@map_table +POSTHOOK: Output: ../../data/files/map_table_1 +foo1k1v1k2v2k3v3 +foo2k21v21k22v22k31v31 +PREHOOK: query: insert overwrite directory '../../data/files/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/map_table_2 +POSTHOOK: query: insert overwrite directory '../../data/files/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/map_table_2 +foo1:k1=v1#k2=v2#k3=v3 +foo2:k21=v21#k22=v22#k31=v31 +PREHOOK: query: insert overwrite directory '../../data/files/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/map_table_2_withfields +POSTHOOK: query: insert overwrite directory '../../data/files/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/map_table_2_withfields +k1=v1#k2=v2#k3=v3:foo1 +k21=v21#k22=v22#k31=v31:foo2 +PREHOOK: query: insert overwrite directory '../../data/files/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/array_table_3 +POSTHOOK: query: insert overwrite directory '../../data/files/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/array_table_3 +["a1","a2","a3"]["b1","b2","b3","b4"] +["a21","a22","a23"]["b21","b22","b23","b24"] +PREHOOK: query: insert overwrite directory '../../data/files/array_table_4' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( +'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', +'quote.delim'= '("|\\[|\\])', 'field.delim'=', ', +'serialization.null.format'='-' ) STORED AS TEXTFILE +select a, null, b from array_table +PREHOOK: type: QUERY +PREHOOK: Input: default@array_table +PREHOOK: Output: ../../data/files/array_table_4 +POSTHOOK: query: insert overwrite directory '../../data/files/array_table_4' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( +'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', +'quote.delim'= '("|\\[|\\])', 'field.delim'=', ', +'serialization.null.format'='-' ) STORED AS TEXTFILE +select a, null, b from array_table +POSTHOOK: type: QUERY +POSTHOOK: Input: default@array_table +POSTHOOK: Output: ../../data/files/array_table_4 +a1a2a3,-,b1b2b3b4 +a21a22a23,-,b21b22b23b24 +PREHOOK: query: insert overwrite directory '../../data/files/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/map_table_3 +POSTHOOK: query: insert overwrite directory '../../data/files/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/map_table_3 +foo1{"k1":"v1","k2":"v2","k3":"v3"} +foo2{"k21":"v21","k22":"v22","k31":"v31"} +PREHOOK: query: insert overwrite directory '../../data/files/map_table_4' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( +'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', +'quote.delim'= '("|\\[|\\])', 'field.delim'=', ', +'serialization.null.format'='-' ) STORED AS TEXTFILE +select foo, null, bar from map_table +PREHOOK: type: QUERY +PREHOOK: Input: default@map_table +PREHOOK: Output: ../../data/files/map_table_4 +POSTHOOK: query: insert overwrite directory '../../data/files/map_table_4' +ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' +WITH SERDEPROPERTIES ( +'serialization.format'= 'org.apache.hadoop.hive.serde2.thrift.TCTLSeparatedProtocol', +'quote.delim'= '("|\\[|\\])', 'field.delim'=', ', +'serialization.null.format'='-' ) STORED AS TEXTFILE +select foo, null, bar from map_table +POSTHOOK: type: QUERY +POSTHOOK: Input: default@map_table +POSTHOOK: Output: ../../data/files/map_table_4 +foo1,-,k1v1k2v2k3v3 +foo2,-,k21v21k22v22k31v31 +PREHOOK: query: insert overwrite directory '../../data/files/rctable' +STORED AS RCFILE +select value,key from src +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: ../../data/files/rctable +POSTHOOK: query: insert overwrite directory '../../data/files/rctable' +STORED AS RCFILE +select value,key from src +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: ../../data/files/rctable +#### A masked pattern was here #### +PREHOOK: query: create external table rctable(value string, key string) +STORED AS RCFILE +#### A masked pattern was here #### +PREHOOK: type: CREATETABLE +POSTHOOK: query: create external table rctable(value string, key string) +STORED AS RCFILE +#### A masked pattern was here #### +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@rctable +PREHOOK: query: insert overwrite directory '../../data/files/rctable_out' +ROW FORMAT DELIMITED +FIELDS TERMINATED BY '\t' +select key,value from rctable +PREHOOK: type: QUERY +PREHOOK: Input: default@rctable +PREHOOK: Output: ../../data/files/rctable_out +POSTHOOK: query: insert overwrite directory '../../data/files/rctable_out' +ROW FORMAT DELIMITED +FIELDS TERMINATED BY '\t' +select key,value from rctable +POSTHOOK: type: QUERY +POSTHOOK: Input: default@rctable +POSTHOOK: Output: ../../data/files/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 rctable +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@rctable +PREHOOK: Output: default@rctable +POSTHOOK: query: drop table rctable +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@rctable +POSTHOOK: Output: default@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 ####