HIVE-16625: Extra '\0' characters in the output, when 
SeparatedValuesOutputFormat is used and the quoting is disabled (Peter Vary, 
reviewed by Zoltan Haindrich and Aihua Xu)


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

Branch: refs/heads/hive-14535
Commit: 396cba45822ab9e1519504cdde82df1d89b60c8f
Parents: f5b2250
Author: Aihua Xu <[email protected]>
Authored: Wed May 31 13:00:04 2017 -0400
Committer: Aihua Xu <[email protected]>
Committed: Wed May 31 13:01:47 2017 -0400

----------------------------------------------------------------------
 .../beeline/SeparatedValuesOutputFormat.java    |   11 +-
 .../test/resources/testconfiguration.properties |    1 +
 .../java/org/apache/hive/beeline/QFile.java     |    1 +
 .../insert_overwrite_local_directory_1.q.out    | 1769 ++++++++++++++++++
 4 files changed, 1780 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/396cba45/beeline/src/java/org/apache/hive/beeline/SeparatedValuesOutputFormat.java
----------------------------------------------------------------------
diff --git 
a/beeline/src/java/org/apache/hive/beeline/SeparatedValuesOutputFormat.java 
b/beeline/src/java/org/apache/hive/beeline/SeparatedValuesOutputFormat.java
index 66d9fd0..9c24a20 100644
--- a/beeline/src/java/org/apache/hive/beeline/SeparatedValuesOutputFormat.java
+++ b/beeline/src/java/org/apache/hive/beeline/SeparatedValuesOutputFormat.java
@@ -26,6 +26,8 @@ import java.io.IOException;
 import java.io.StringWriter;
 
 import org.apache.hadoop.io.IOUtils;
+import org.supercsv.encoder.CsvEncoder;
+import org.supercsv.encoder.SelectiveCsvEncoder;
 import org.supercsv.io.CsvListWriter;
 import org.supercsv.prefs.CsvPreference;
 
@@ -40,10 +42,15 @@ class SeparatedValuesOutputFormat implements OutputFormat {
 
   SeparatedValuesOutputFormat(BeeLine beeLine, char separator) {
     this.beeLine = beeLine;
-    unquotedCsvPreference = new CsvPreference.Builder('\0', separator, 
"").build();
+    unquotedCsvPreference = getUnquotedCsvPreference(separator);
     quotedCsvPreference = new CsvPreference.Builder('"', separator, 
"").build();
   }
 
+  private static CsvPreference getUnquotedCsvPreference(char delimiter) {
+    CsvEncoder noEncoder = new SelectiveCsvEncoder();
+    return new CsvPreference.Builder('\0', delimiter, 
"").useEncoder(noEncoder).build();
+  }
+
   private void updateCsvPreference() {
     if (beeLine.getOpts().getOutputFormat().equals("dsv")) {
       // check whether delimiter changed by user
@@ -54,7 +61,7 @@ class SeparatedValuesOutputFormat implements OutputFormat {
         // "" is passed as the end of line symbol in following function, as
         // beeline itself adds newline
         if (isQuotingDisabled()) {
-          unquotedCsvPreference = new CsvPreference.Builder('\0', newDel, 
"").build();
+          unquotedCsvPreference = getUnquotedCsvPreference(newDel);
         } else {
           quotedCsvPreference = new CsvPreference.Builder('"', newDel, 
"").build();
         }

http://git-wip-us.apache.org/repos/asf/hive/blob/396cba45/itests/src/test/resources/testconfiguration.properties
----------------------------------------------------------------------
diff --git a/itests/src/test/resources/testconfiguration.properties 
b/itests/src/test/resources/testconfiguration.properties
index 47a13c9..f4a53df 100644
--- a/itests/src/test/resources/testconfiguration.properties
+++ b/itests/src/test/resources/testconfiguration.properties
@@ -759,6 +759,7 @@ encrypted.query.files=encryption_join_unencrypted_tbl.q,\
 beeline.positive.include=create_merge_compressed.q,\
   drop_with_concurrency.q,\
   escape_comments.q,\
+  insert_overwrite_local_directory_1.q,\
   mapjoin2.q,\
   materialized_view_create_rewrite.q,\
   smb_mapjoin_1.q,\

http://git-wip-us.apache.org/repos/asf/hive/blob/396cba45/itests/util/src/main/java/org/apache/hive/beeline/QFile.java
----------------------------------------------------------------------
diff --git a/itests/util/src/main/java/org/apache/hive/beeline/QFile.java 
b/itests/util/src/main/java/org/apache/hive/beeline/QFile.java
index 0d00a9b..e70ac38 100644
--- a/itests/util/src/main/java/org/apache/hive/beeline/QFile.java
+++ b/itests/util/src/main/java/org/apache/hive/beeline/QFile.java
@@ -304,6 +304,7 @@ public final class QFile {
         .addFilter(".*/tmp/.*\n", MASK_PATTERN)
         .addFilter(".*file:.*\n", MASK_PATTERN)
         .addFilter(".*file\\..*\n", MASK_PATTERN)
+        .addFilter(".*Output:.*/data/files/.*\n", MASK_PATTERN)
         .addFilter(".*CreateTime.*\n", MASK_PATTERN)
         .addFilter(".*transient_lastDdlTime.*\n", MASK_PATTERN)
         .addFilter(".*lastUpdateTime.*\n", MASK_PATTERN)

http://git-wip-us.apache.org/repos/asf/hive/blob/396cba45/ql/src/test/results/clientpositive/beeline/insert_overwrite_local_directory_1.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/beeline/insert_overwrite_local_directory_1.q.out
 
b/ql/src/test/results/clientpositive/beeline/insert_overwrite_local_directory_1.q.out
new file mode 100644
index 0000000..9a4e861
--- /dev/null
+++ 
b/ql/src/test/results/clientpositive/beeline/insert_overwrite_local_directory_1.q.out
@@ -0,0 +1,1769 @@
+PREHOOK: query: insert overwrite local directory 
'../../data/files/local_src_table_1'
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: insert overwrite local directory 
'../../data/files/local_src_table_1'
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+PREHOOK: Output: database:default
+PREHOOK: Output: default@array_table
+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: database:default
+POSTHOOK: Output: default@array_table
+PREHOOK: query: load data local inpath "../../data/files/array_table.txt" 
overwrite into table array_table
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@array_table
+POSTHOOK: query: load data local inpath "../../data/files/array_table.txt" 
overwrite into table array_table
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+POSTHOOK: query: insert overwrite local directory 
'../../data/files/local_array_table_1'
+select * from array_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@array_table
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+PREHOOK: Output: database:default
+PREHOOK: Output: default@map_table
+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: database:default
+POSTHOOK: Output: default@map_table
+PREHOOK: query: load data local inpath "../../data/files/map_table.txt" 
overwrite into table map_table
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@map_table
+POSTHOOK: query: load data local inpath "../../data/files/map_table.txt" 
overwrite into table map_table
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+POSTHOOK: query: insert overwrite local directory 
'../../data/files/local_map_table_1'
+select * from map_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@map_table
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+["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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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
+#### 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
+#### A masked pattern was here ####
+PREHOOK: Output: database:default
+PREHOOK: Output: default@local_rctable
+POSTHOOK: query: create external table local_rctable(value string, key string)
+STORED AS RCFILE
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+#### A masked pattern was here ####
+POSTHOOK: Output: database:default
+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
+#### A masked pattern was here ####
+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
+#### A masked pattern was here ####
+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 ####

Reply via email to