diff --git accumulo-handler/src/test/results/positive/accumulo_queries.q.out accumulo-handler/src/test/results/positive/accumulo_queries.q.out index de82857c25..9d8c0e096c 100644 --- accumulo-handler/src/test/results/positive/accumulo_queries.q.out +++ accumulo-handler/src/test/results/positive/accumulo_queries.q.out @@ -383,11 +383,161 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@accumulo_table_1 POSTHOOK: Input: default@accumulo_table_2 #### A masked pattern was here #### +0 val_0 +2 val_2 +4 val_4 +8 val_8 +10 val_10 12 val_12 +18 val_18 +20 val_20 +24 val_24 +26 val_26 +28 val_28 +30 val_30 +34 val_34 +42 val_42 +44 val_44 +54 val_54 +58 val_58 +64 val_64 +66 val_66 +70 val_70 +72 val_72 +74 val_74 +76 val_76 +78 val_78 +80 val_80 +82 val_82 +84 val_84 +86 val_86 +90 val_90 +92 val_92 +96 val_96 +98 val_98 +100 val_100 104 val_104 114 val_114 116 val_116 118 val_118 +120 val_120 +126 val_126 +128 val_128 +134 val_134 +136 val_136 +138 val_138 +146 val_146 +150 val_150 +152 val_152 +156 val_156 +158 val_158 +160 val_160 +162 val_162 +164 val_164 +166 val_166 +168 val_168 +170 val_170 +172 val_172 +174 val_174 +176 val_176 +178 val_178 +180 val_180 +186 val_186 +190 val_190 +192 val_192 +194 val_194 +196 val_196 +200 val_200 +202 val_202 +208 val_208 +214 val_214 +216 val_216 +218 val_218 +222 val_222 +224 val_224 +226 val_226 +228 val_228 +230 val_230 +238 val_238 +242 val_242 +244 val_244 +248 val_248 +252 val_252 +256 val_256 +258 val_258 +260 val_260 +262 val_262 +266 val_266 +272 val_272 +274 val_274 +278 val_278 +280 val_280 +282 val_282 +284 val_284 +286 val_286 +288 val_288 +292 val_292 +296 val_296 +298 val_298 +302 val_302 +306 val_306 +308 val_308 +310 val_310 +316 val_316 +318 val_318 +322 val_322 +332 val_332 +336 val_336 +338 val_338 +342 val_342 +344 val_344 +348 val_348 +356 val_356 +360 val_360 +362 val_362 +364 val_364 +366 val_366 +368 val_368 +374 val_374 +378 val_378 +382 val_382 +384 val_384 +386 val_386 +392 val_392 +394 val_394 +396 val_396 +400 val_400 +402 val_402 +404 val_404 +406 val_406 +414 val_414 +418 val_418 +424 val_424 +430 val_430 +432 val_432 +436 val_436 +438 val_438 +444 val_444 +446 val_446 +448 val_448 +452 val_452 +454 val_454 +458 val_458 +460 val_460 +462 val_462 +466 val_466 +468 val_468 +470 val_470 +472 val_472 +478 val_478 +480 val_480 +482 val_482 +484 val_484 +490 val_490 +492 val_492 +494 val_494 +496 val_496 +498 val_498 PREHOOK: query: DROP TABLE empty_accumulo_table PREHOOK: type: DROPTABLE POSTHOOK: query: DROP TABLE empty_accumulo_table diff --git ql/src/test/queries/clientpositive/accumulo_queries.q ql/src/test/queries/clientpositive/accumulo_queries.q new file mode 100644 index 0000000000..279b6615a7 --- /dev/null +++ ql/src/test/queries/clientpositive/accumulo_queries.q @@ -0,0 +1,158 @@ +DROP TABLE accumulo_table_1; +CREATE TABLE accumulo_table_1(key int, value string) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") +TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0"); + +DESCRIBE EXTENDED accumulo_table_1; + +select * from accumulo_table_1; + +EXPLAIN FROM src INSERT OVERWRITE TABLE accumulo_table_1 SELECT * WHERE (key%2)=0; +FROM src INSERT OVERWRITE TABLE accumulo_table_1 SELECT * WHERE (key%2)=0; + +DROP TABLE accumulo_table_2; +CREATE EXTERNAL TABLE accumulo_table_2(key int, value string) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string") +TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_0"); + +EXPLAIN +SELECT Y.* +FROM +(SELECT accumulo_table_1.* FROM accumulo_table_1) x +JOIN +(SELECT src.* FROM src) Y +ON (x.key = Y.key) +ORDER BY key, value LIMIT 20; + +SELECT Y.* +FROM +(SELECT accumulo_table_1.* FROM accumulo_table_1) x +JOIN +(SELECT src.* FROM src) Y +ON (x.key = Y.key) +ORDER BY key, value LIMIT 20; + +EXPLAIN +SELECT Y.* +FROM +(SELECT accumulo_table_1.* FROM accumulo_table_1 WHERE 100 < accumulo_table_1.key) x +JOIN +(SELECT accumulo_table_2.* FROM accumulo_table_2 WHERE accumulo_table_2.key < 120) Y +ON (x.key = Y.key) +ORDER BY key, value; + +SELECT Y.* +FROM +(SELECT accumulo_table_1.* FROM accumulo_table_1 WHERE 100 < accumulo_table_1.key) x +JOIN +(SELECT accumulo_table_2.* FROM accumulo_table_2 WHERE accumulo_table_2.key < 120) Y +ON (x.key = Y.key) +ORDER BY key,value; + +DROP TABLE empty_accumulo_table; +CREATE TABLE empty_accumulo_table(key int, value string) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,cf:string"); + +DROP TABLE empty_normal_table; +CREATE TABLE empty_normal_table(key int, value string); + +select * from (select count(1) as c from empty_normal_table union all select count(1) as c from empty_accumulo_table) x order by c; +select * from (select count(1) c from empty_normal_table union all select count(1) as c from accumulo_table_1) x order by c; +select * from (select count(1) c from src union all select count(1) as c from empty_accumulo_table) x order by c; +select * from (select count(1) c from src union all select count(1) as c from accumulo_table_1) x order by c; + +CREATE TABLE accumulo_table_3(key int, value string, count int) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ( +"accumulo.columns.mapping" = ":rowID,cf:val,cf2:count" +); + +EXPLAIN +INSERT OVERWRITE TABLE accumulo_table_3 +SELECT x.key, x.value, Y.count +FROM +(SELECT accumulo_table_1.* FROM accumulo_table_1) x +JOIN +(SELECT src.key, count(src.key) as count FROM src GROUP BY src.key) Y +ON (x.key = Y.key); + +INSERT OVERWRITE TABLE accumulo_table_3 +SELECT x.key, x.value, Y.count +FROM +(SELECT accumulo_table_1.* FROM accumulo_table_1) x +JOIN +(SELECT src.key, count(src.key) as count FROM src GROUP BY src.key) Y +ON (x.key = Y.key); + +select count(1) from accumulo_table_3; +select * from accumulo_table_3 order by key, value limit 5; +select key, count from accumulo_table_3 order by key, count desc limit 5; + +DROP TABLE accumulo_table_4; +CREATE TABLE accumulo_table_4(key int, value1 string, value2 int, value3 int) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ( +"accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" +); + +INSERT OVERWRITE TABLE accumulo_table_4 SELECT key, value, key+1, key+2 +FROM src WHERE key=98 OR key=100; + +SELECT * FROM accumulo_table_4 ORDER BY key; + +DROP TABLE accumulo_table_5; +CREATE EXTERNAL TABLE accumulo_table_5(key int, value map) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ("accumulo.columns.mapping" = ":rowID,a:*") +TBLPROPERTIES ("accumulo.table.name" = "accumulo_table_4"); + +SELECT * FROM accumulo_table_5 ORDER BY key; + +DROP TABLE accumulo_table_6; +CREATE TABLE accumulo_table_6(key int, value map) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ( +"accumulo.columns.mapping" = ":rowID,cf:*" +); +INSERT OVERWRITE TABLE accumulo_table_6 SELECT key, map(value, key) FROM src +WHERE key=98 OR key=100; + +SELECT * FROM accumulo_table_6 ORDER BY key; + +DROP TABLE accumulo_table_7; +CREATE TABLE accumulo_table_7(value map, key int) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ( +"accumulo.columns.mapping" = "cf:*,:rowID" +); +INSERT OVERWRITE TABLE accumulo_table_7 +SELECT map(value, key, upper(value), key+1), key FROM src +WHERE key=98 OR key=100; + +SELECT * FROM accumulo_table_7 ORDER BY key; + +DROP TABLE accumulo_table_8; +CREATE TABLE accumulo_table_8(key int, value1 string, value2 int, value3 int) +STORED BY 'org.apache.hadoop.hive.accumulo.AccumuloStorageHandler' +WITH SERDEPROPERTIES ( +"accumulo.columns.mapping" = ":rowID,a:b,a:c,d:e" +); + +INSERT OVERWRITE TABLE accumulo_table_8 SELECT key, value, key+1, key+2 +FROM src WHERE key=98 OR key=100; + +SELECT * FROM accumulo_table_8 ORDER BY key; + +DROP TABLE accumulo_table_1; +DROP TABLE accumulo_table_2; +DROP TABLE accumulo_table_3; +DROP TABLE accumulo_table_4; +DROP TABLE accumulo_table_5; +DROP TABLE accumulo_table_6; +DROP TABLE accumulo_table_7; +DROP TABLE accumulo_table_8; +DROP TABLE empty_accumulo_table; +DROP TABLE empty_normal_table;